function eva_entity_extra_field_info in EVA: Entity Views Attachment 8.2
Same name and namespace in other branches
- 8 eva.module \eva_entity_extra_field_info()
Implements hook_entity_extra_field_info().
File
- ./
eva.module, line 17 - Module implementing EVA extra field and views display.
Code
function eva_entity_extra_field_info() {
$extra = [];
$views = \Drupal::service('eva.view_displays')
->get();
foreach ($views as $entity => $data) {
foreach ($data as $view) {
// If no bundles are configured, apply to all bundles.
$bundles = !empty($view['bundles']) ? $view['bundles'] : array_keys(\Drupal::service('entity_type.bundle.info')
->getBundleInfo($entity));
foreach ($bundles as $bundle) {
$extra[$entity][$bundle]['display'][$view['name'] . '_' . $view['display']] = [
'label' => empty($view['title']) ? $view['name'] : $view['title'],
'description' => $view['title'],
'weight' => 10,
];
// Provide a separate extra field for the exposed form if there is any.
if ($view['uses exposed']) {
$extra[$entity][$bundle]['display'][$view['name'] . '_' . $view['display'] . '_form'] = [
'label' => (empty($view['title']) ? $view['name'] : $view['title']) . ' (' . t('Exposed form') . ')',
'description' => t('The exposed filter form of the view.'),
'weight' => 9,
];
}
}
}
}
return $extra;
}