public function ConfigSplitEntityViewBuilder::viewMultiple in Configuration Split 8
Same name and namespace in other branches
- 2.0.x src/ConfigSplitEntityViewBuilder.php \Drupal\config_split\ConfigSplitEntityViewBuilder::viewMultiple()
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 EntityViewBuilder::viewMultiple
File
- src/
ConfigSplitEntityViewBuilder.php, line 33
Class
- ConfigSplitEntityViewBuilder
- EntityViewBuilder for Config Split entities.
Namespace
Drupal\config_splitCode
public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL) {
/** @var \Drupal\config_split\Entity\ConfigSplitEntityInterface[] $entities */
$build = [];
foreach ($entities as $entity_id => $entity) {
/** @var \Drupal\config_split\Plugin\ConfigFilter\SplitFilter $filter */
$filter = $this->filterPluginManager
->getFilterInstance('config_split:' . $entity
->id());
// @todo: make this prettier.
$build[$entity_id] = [
'complete' => [
'#type' => 'container',
'title' => [
'#type' => 'html_tag',
'#tag' => 'h3',
'#value' => $this
->t('Complete Split Config'),
],
'items' => [
'#theme' => 'item_list',
'#items' => $filter
->getBlacklist(),
'#list_type' => 'ul',
],
],
'conditional' => [
'#type' => 'container',
'title' => [
'#type' => 'html_tag',
'#tag' => 'h3',
'#value' => $this
->t('Conditional Split Config'),
],
'items' => [
'#theme' => 'item_list',
'#items' => $filter
->getGraylist(),
'#list_type' => 'ul',
],
],
'#cache' => [
'tags' => $entity
->getCacheTags(),
],
];
}
return $build;
}