public function ItemViewBuilder::buildComponents in Drupal 9
Same name and namespace in other branches
- 8 core/modules/aggregator/src/ItemViewBuilder.php \Drupal\aggregator\ItemViewBuilder::buildComponents()
Builds the component fields and properties of a set of entities.
Parameters
&$build: The renderable array representing the entity content.
\Drupal\Core\Entity\EntityInterface[] $entities: The entities whose content is being built.
\Drupal\Core\Entity\Display\EntityViewDisplayInterface[] $displays: The array of entity view displays holding the display options configured for the entity components, keyed by bundle name.
string $view_mode: The view mode in which the entity is being viewed.
Overrides EntityViewBuilder::buildComponents
File
- core/
modules/ aggregator/ src/ ItemViewBuilder.php, line 15
Class
- ItemViewBuilder
- View builder handler for aggregator feed items.
Namespace
Drupal\aggregatorCode
public function buildComponents(array &$build, array $entities, array $displays, $view_mode) {
parent::buildComponents($build, $entities, $displays, $view_mode);
foreach ($entities as $id => $entity) {
$bundle = $entity
->bundle();
$display = $displays[$bundle];
// By default, the description field is exposed as a pseudo-field
// rendered in this function. However it can optionally be rendered
// directly using a field formatter. Skip rendering here if a field
// formatter type is set.
$component = $display
->getComponent('description');
if ($component && !isset($component['type'])) {
$build[$id]['description'] = [
'#markup' => $entity
->getDescription(),
'#allowed_tags' => _aggregator_allowed_tags(),
'#prefix' => '<div class="item-description">',
'#suffix' => '</div>',
];
}
}
}