Implements Drupal\Core\Entity\EntityRenderControllerInterface::viewMultiple().
Overrides EntityRenderControllerInterface::viewMultiple
public function viewMultiple(array $entities = array(), $view_mode = 'full', $langcode = NULL) {
if (!isset($langcode)) {
$langcode = language(LANGUAGE_TYPE_CONTENT)->langcode;
}
$this
->buildContent($entities, $view_mode, $langcode);
$view_hook = "{$this->entityType}_view";
$build = array(
'#sorted' => TRUE,
);
$weight = 0;
foreach ($entities as $key => $entity) {
$entity_view_mode = isset($entity->content['#view_mode']) ? $entity->content['#view_mode'] : $view_mode;
module_invoke_all($view_hook, $entity, $entity_view_mode, $langcode);
module_invoke_all('entity_view', $entity, $entity_view_mode, $langcode);
$build[$key] = $entity->content;
// We don't need duplicate rendering info in $entity->content.
unset($entity->content);
$build[$key] += $this
->getBuildDefaults($entity, $entity_view_mode, $langcode);
$this
->alterBuild($build[$key], $entity, $entity_view_mode, $langcode);
$build[$key]['#weight'] = $weight++;
// Allow modules to modify the structured entity.
drupal_alter(array(
$view_hook,
'entity_view',
), $build[$key], $entity);
}
return $build;
}