protected function EntityViewBuilder::getBuildDefaults in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/EntityViewBuilder.php \Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults()
- 10 core/lib/Drupal/Core/Entity/EntityViewBuilder.php \Drupal\Core\Entity\EntityViewBuilder::getBuildDefaults()
Provides entity-specific defaults to the build process.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity for which the defaults should be provided.
string $view_mode: The view mode that should be used.
Return value
array
5 calls to EntityViewBuilder::getBuildDefaults()
- BlockContentViewBuilder::getBuildDefaults in core/
modules/ block_content/ src/ BlockContentViewBuilder.php - Provides entity-specific defaults to the build process.
- CommentViewBuilder::getBuildDefaults in core/
modules/ comment/ src/ CommentViewBuilder.php - Provides entity-specific defaults to the build process.
- EntityViewBuilder::viewMultiple in core/
lib/ Drupal/ Core/ Entity/ EntityViewBuilder.php - Builds the render array for the provided entities.
- MessageViewBuilder::getBuildDefaults in core/
modules/ contact/ src/ MessageViewBuilder.php - Provides entity-specific defaults to the build process.
- NodeViewBuilder::getBuildDefaults in core/
modules/ node/ src/ NodeViewBuilder.php - Provides entity-specific defaults to the build process.
4 methods override EntityViewBuilder::getBuildDefaults()
- BlockContentViewBuilder::getBuildDefaults in core/
modules/ block_content/ src/ BlockContentViewBuilder.php - Provides entity-specific defaults to the build process.
- CommentViewBuilder::getBuildDefaults in core/
modules/ comment/ src/ CommentViewBuilder.php - Provides entity-specific defaults to the build process.
- MessageViewBuilder::getBuildDefaults in core/
modules/ contact/ src/ MessageViewBuilder.php - Provides entity-specific defaults to the build process.
- NodeViewBuilder::getBuildDefaults in core/
modules/ node/ src/ NodeViewBuilder.php - Provides entity-specific defaults to the build process.
File
- core/
lib/ Drupal/ Core/ Entity/ EntityViewBuilder.php, line 177
Class
- EntityViewBuilder
- Base class for entity view builders.
Namespace
Drupal\Core\EntityCode
protected function getBuildDefaults(EntityInterface $entity, $view_mode) {
// Allow modules to change the view mode.
$context = [];
$this
->moduleHandler()
->alter('entity_view_mode', $view_mode, $entity, $context);
$build = [
"#{$this->entityTypeId}" => $entity,
'#view_mode' => $view_mode,
// Collect cache defaults for this entity.
'#cache' => [
'tags' => Cache::mergeTags($this
->getCacheTags(), $entity
->getCacheTags()),
'contexts' => $entity
->getCacheContexts(),
'max-age' => $entity
->getCacheMaxAge(),
],
];
// Add the default #theme key if a template exists for it.
if ($this->themeRegistry
->getRuntime()
->has($this->entityTypeId)) {
$build['#theme'] = $this->entityTypeId;
}
// Cache the rendered output if permitted by the view mode and global entity
// type configuration.
if ($this
->isViewModeCacheable($view_mode) && !$entity
->isNew() && $entity
->isDefaultRevision() && $this->entityType
->isRenderCacheable()) {
$build['#cache'] += [
'keys' => [
'entity_view',
$this->entityTypeId,
$entity
->id(),
$view_mode,
],
'bin' => $this->cacheBin,
];
if ($entity instanceof TranslatableDataInterface && count($entity
->getTranslationLanguages()) > 1) {
$build['#cache']['keys'][] = $entity
->language()
->getId();
}
}
return $build;
}