function forward_views_data_alter in Forward 4.x
Same name and namespace in other branches
- 8.3 forward.views.inc \forward_views_data_alter()
- 8 forward.views.inc \forward_views_data_alter()
- 8.2 forward.views.inc \forward_views_data_alter()
- 4.0.x forward.views.inc \forward_views_data_alter()
Implements hook_views_data_alter().
File
- ./
forward.views.inc, line 155 - Provide views data.
Code
function forward_views_data_alter(&$data) {
$entity_types = \Drupal::entityTypeManager()
->getDefinitions();
foreach ($entity_types as $type => $info) {
if (is_a($info, 'Drupal\\Core\\Entity\\ContentEntityType')) {
if ($info
->getBaseTable()) {
$label = (string) $info
->getLabel();
// Add a Forward link field.
$data[$info
->getBaseTable()]['forward_link'] = [
'field' => [
'title' => t('Forward link'),
'group' => t($label),
'help' => t('Provide a simple link to forward the @entity-type to a friend.', [
'@entity-type' => strtolower(t($label)),
]),
'id' => 'forward_link',
],
];
// Add a relationship to the logs.
$data[$info
->getBaseTable() . '_field_data']['forward_log'] = [
'title' => t('Entity with forward logs'),
'help' => t('Relate all forward logs for the entity. Creates a row for each instance the entity was forwarded.'),
'relationship' => [
'group' => t('Forward log'),
'label' => t('Forward log referenced by entity'),
'base' => 'forward_log',
'base field' => 'id',
'relationship field' => $info
->getKey('id'),
'id' => 'standard',
'extra' => [
[
'field' => 'type',
'value' => $type,
],
],
],
];
}
}
}
}