public function PanelizerEntityViewBuilder::view in Panelizer 8.3
Same name and namespace in other branches
- 8.5 src/PanelizerEntityViewBuilder.php \Drupal\panelizer\PanelizerEntityViewBuilder::view()
- 8.4 src/PanelizerEntityViewBuilder.php \Drupal\panelizer\PanelizerEntityViewBuilder::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
File
- src/
PanelizerEntityViewBuilder.php, line 262
Class
- PanelizerEntityViewBuilder
- Entity view builder for entities that can be panelized.
Namespace
Drupal\panelizerCode
public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {
// Trigger hook_panelizer_pre_view_builder_alter().
$this->moduleHandler
->alter('panelizer_pre_view_builder', $view_mode, $entity, $langcode);
$displays = $this
->collectRenderDisplays([
$entity,
], $view_mode);
$display = $displays[$entity
->bundle()];
if (!$this
->isPanelizerEnabled($display)) {
return $this
->getFallbackViewBuilder()
->view($entity, $view_mode, $langcode);
}
$build = $this
->buildMultiplePanelized([
$entity
->id() => $entity,
], $displays, $view_mode, $langcode);
return $build[$entity
->id()];
}