EntityViewBuilder::viewMultiple

public EntityViewBuilder::viewMultiple(array $entities = array(), $view_mode = 'full', $langcode = NULL)

Builds the render array for the provided entities.

Parameters

array $entities: An array of entities implementing EntityInterface to view.

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

A render array for the entities, indexed by the same keys as the entities array passed in $entities.

Throws

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

Overrides EntityViewBuilderInterface::viewMultiple

File

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

Class

EntityViewBuilder
Base class for entity view builders.

Namespace

Drupal\Core\Entity

Code

public function viewMultiple(array $entities = array(), $view_mode = 'full', $langcode = NULL) {
  $build_list = array(
    '#sorted' => TRUE,
    '#pre_render' => array(array($this, 'buildMultiple')),
  );
  $weight = 0;
  foreach ($entities as $key => $entity) {
    // Ensure that from now on we are dealing with the proper translation
    // object.
    $entity = $this->entityManager->getTranslationFromContext($entity, $langcode);

    // Set build defaults.
    $build_list[$key] = $this->getBuildDefaults($entity, $view_mode);
    $entityType = $this->entityTypeId;
    $this->moduleHandler()->alter(array($entityType . '_build_defaults', 'entity_build_defaults'), $build_list[$key], $entity, $view_mode);

    $build_list[$key]['#weight'] = $weight++;
  }

  return $build_list;
}
doc_Drupal
2016-10-29 09:08:47
Comments
Leave a Comment

Please login to continue.