1 entity.controller.inc | public DefaultEntityController::view($entities, $view_mode = 'full', $langcode = NULL, $page = NULL) |
Implements EntityControllerInterface::view().
Overrides EntityControllerInterface::view
File
- core/
modules/ entity/ entity.controller.inc, line 611 - Entity API controller classes and interface.
Class
- DefaultEntityController
- Defines a base entity controller class.
Code
public function view($entities, $view_mode = 'full', $langcode = NULL, $page = NULL) {
global $language_content;
$langcode = $langcode ? $langcode : $language_content->langcode;
// @todo ensure entities are keyed by entity id.
if (!empty($this->entityInfo['fieldable'])) {
field_attach_prepare_view($this->entityType, $entities, $view_mode);
}
entity_prepare_view($this->entityType, $entities);
$view = array();
foreach ($entities as $entity) {
/* @var EntityInterface $entity */
$this->buildContent($entity, $view_mode, $langcode);
$build = $entity->content;
// We don't need duplicate rendering info in entity->content.
unset($entity->content);
$build += array(
// @see template_preprocess_entity()
'#theme' => 'entity',
'#entity_type' => $this->entityType,
'#entity' => $entity,
'#view_mode' => $view_mode,
'#language' => $langcode,
'#page' => $page,
);
// Allow modules to modify the structured entity.
backdrop_alter(array($this->entityType . '_view', 'entity_view'), $build, $this->entityType);
$view[$this->entityType][$entity->id()] = $build;
}
return $view;
}