You are here

public function PageVariantViewBuilder::view in Page Manager 8.4

Same name and namespace in other branches
  1. 8 src/Entity/PageVariantViewBuilder.php \Drupal\page_manager\Entity\PageVariantViewBuilder::view()

Builds the render array for the provided entity.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity to render.

string $view_mode: (optional) The view mode that should be used to render the entity.

string $langcode: (optional) For which language the entity should be rendered, defaults to the current content language.

Return value

array A render array for the entity.

Throws

\InvalidArgumentException Can be thrown when the set of parameters is inconsistent, like when trying to view a Comment and passing a Node which is not the one the comment belongs to, or not passing one, and having the comment node not be available for loading.

Overrides EntityViewBuilderInterface::view

1 call to PageVariantViewBuilder::view()
PageVariantViewBuilder::viewMultiple in src/Entity/PageVariantViewBuilder.php
Builds the render array for the provided entities.

File

src/Entity/PageVariantViewBuilder.php, line 20

Class

PageVariantViewBuilder
Provides a view builder for page variant entities.

Namespace

Drupal\page_manager\Entity

Code

public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {

  /** @var \Drupal\page_manager\PageVariantInterface $entity */
  $variant_plugin = $entity
    ->getVariantPlugin();
  if ($variant_plugin instanceof ContextAwareVariantInterface) {
    $variant_plugin
      ->setContexts($entity
      ->getContexts());
  }
  if ($variant_plugin instanceof RefinableCacheableDependencyInterface) {
    $variant_plugin
      ->addCacheableDependency($entity);
  }
  return $variant_plugin
    ->build();
}