public function EntityViewBuilder::view

public EntityViewBuilder::view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL)

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

core/lib/Drupal/Core/Entity/EntityViewBuilder.php, line 97

Class

EntityViewBuilder
Base class for entity view builders.

Namespace

Drupal\Core\Entity

Code

public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) {
  $build_list = $this->viewMultiple(array($entity), $view_mode, $langcode);

  // The default ::buildMultiple() #pre_render callback won't run, because we
  // extract a child element of the default renderable array. Thus we must
  // assign an alternative #pre_render callback that applies the necessary
  // transformations and then still calls ::buildMultiple().
  $build = $build_list[0];
  $build['#pre_render'][] = array($this, 'build');

  return $build;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!EntityViewBuilder.php/function/EntityViewBuilder::view/8.1.x