X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fchi-teck%2Fdrupal-code-generator%2Ftemplates%2Fd8%2Fhook%2Ffield_views_data_views_data_alter.twig;fp=vendor%2Fchi-teck%2Fdrupal-code-generator%2Ftemplates%2Fd8%2Fhook%2Ffield_views_data_views_data_alter.twig;h=96eb9d7d37ec83bdb299d7c0a7b86822e5057f15;hp=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_views_data_alter.twig b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_views_data_alter.twig new file mode 100644 index 000000000..96eb9d7d3 --- /dev/null +++ b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_views_data_alter.twig @@ -0,0 +1,33 @@ +/** + * Implements hook_field_views_data_views_data_alter(). + */ +function {{ machine_name }}_field_views_data_views_data_alter(array &$data, \Drupal\field\FieldStorageConfigInterface $field) { + $field_name = $field->getName(); + $data_key = 'field_data_' . $field_name; + $entity_type_id = $field->entity_type; + $entity_type = \Drupal::entityManager()->getDefinition($entity_type_id); + $pseudo_field_name = 'reverse_' . $field_name . '_' . $entity_type_id; + list($label) = views_entity_field_label($entity_type_id, $field_name); + $table_mapping = \Drupal::entityManager()->getStorage($entity_type_id)->getTableMapping(); + + // Views data for this field is in $data[$data_key]. + $data[$data_key][$pseudo_field_name]['relationship'] = [ + 'title' => t('@entity using @field', ['@entity' => $entity_type->getLabel(), '@field' => $label]), + 'help' => t('Relate each @entity with a @field set to the term.', ['@entity' => $entity_type->getLabel(), '@field' => $label]), + 'id' => 'entity_reverse', + 'field_name' => $field_name, + 'entity_type' => $entity_type_id, + 'field table' => $table_mapping->getDedicatedDataTableName($field), + 'field field' => $field_name . '_target_id', + 'base' => $entity_type->getBaseTable(), + 'base field' => $entity_type->getKey('id'), + 'label' => $field_name, + 'join_extra' => [ + 0 => [ + 'field' => 'deleted', + 'value' => 0, + 'numeric' => TRUE, + ], + ], + ]; +}