96eb9d7d37ec83bdb299d7c0a7b86822e5057f15
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / hook / field_views_data_views_data_alter.twig
1 /**
2  * Implements hook_field_views_data_views_data_alter().
3  */
4 function {{ machine_name }}_field_views_data_views_data_alter(array &$data, \Drupal\field\FieldStorageConfigInterface $field) {
5   $field_name = $field->getName();
6   $data_key = 'field_data_' . $field_name;
7   $entity_type_id = $field->entity_type;
8   $entity_type = \Drupal::entityManager()->getDefinition($entity_type_id);
9   $pseudo_field_name = 'reverse_' . $field_name . '_' . $entity_type_id;
10   list($label) = views_entity_field_label($entity_type_id, $field_name);
11   $table_mapping = \Drupal::entityManager()->getStorage($entity_type_id)->getTableMapping();
12
13   // Views data for this field is in $data[$data_key].
14   $data[$data_key][$pseudo_field_name]['relationship'] = [
15     'title' => t('@entity using @field', ['@entity' => $entity_type->getLabel(), '@field' => $label]),
16     'help' => t('Relate each @entity with a @field set to the term.', ['@entity' => $entity_type->getLabel(), '@field' => $label]),
17     'id' => 'entity_reverse',
18     'field_name' => $field_name,
19     'entity_type' => $entity_type_id,
20     'field table' => $table_mapping->getDedicatedDataTableName($field),
21     'field field' => $field_name . '_target_id',
22     'base' => $entity_type->getBaseTable(),
23     'base field' => $entity_type->getKey('id'),
24     'label' => $field_name,
25     'join_extra' => [
26       0 => [
27         'field' => 'deleted',
28         'value' => 0,
29         'numeric' => TRUE,
30       ],
31     ],
32   ];
33 }