You are here

protected function ViewRenderer::renderSingle in Entity Print 8.2

Render a single entity.

Parameters

\Drupal\Core\Entity\EntityInterface $view: The entity we're rendering.

Return value

array A render array.

File

modules/entity_print_views/src/Renderer/ViewRenderer.php, line 44

Class

ViewRenderer
Providers a renderer for Views.

Namespace

Drupal\entity_print_views\Renderer

Code

protected function renderSingle(EntityInterface $view) {

  /** @var \Drupal\views\Entity\View $view */
  $executable = $view
    ->getExecutable();
  $render = $executable
    ->render() ?: [];

  // We must remove ourselves from all areas otherwise it will cause an
  // infinite loop when rendering.
  foreach ([
    'header',
    'footer',
    'empty',
  ] as $area_type) {
    $handlers =& $executable->display_handler
      ->getHandlers($area_type);
    unset($handlers['area_entity_print_views']);
  }
  $render['#pre_render'][] = [
    static::class,
    'preRender',
  ];
  return $render;
}