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_alter.twig;fp=vendor%2Fchi-teck%2Fdrupal-code-generator%2Ftemplates%2Fd8%2Fhook%2Ffield_views_data_alter.twig;h=388b97ad8fa08e6bf423f6b79a70bce0408b0f7c;hp=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_alter.twig b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_alter.twig new file mode 100644 index 000000000..388b97ad8 --- /dev/null +++ b/vendor/chi-teck/drupal-code-generator/templates/d8/hook/field_views_data_alter.twig @@ -0,0 +1,32 @@ +/** + * Implements hook_field_views_data_alter(). + */ +function {{ machine_name }}_field_views_data_alter(array &$data, \Drupal\field\FieldStorageConfigInterface $field_storage) { + $entity_type_id = $field_storage->getTargetEntityTypeId(); + $field_name = $field_storage->getName(); + $entity_type = \Drupal::entityManager()->getDefinition($entity_type_id); + $pseudo_field_name = 'reverse_' . $field_name . '_' . $entity_type_id; + $table_mapping = \Drupal::entityManager()->getStorage($entity_type_id)->getTableMapping(); + + list($label) = views_entity_field_label($entity_type_id, $field_name); + + $data['file_managed'][$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 image.', ['@entity' => $entity_type->getLabel(), '@field' => $label]), + 'id' => 'entity_reverse', + 'field_name' => $field_name, + 'entity_type' => $entity_type_id, + 'field table' => $table_mapping->getDedicatedDataTableName($field_storage), + '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, + ], + ], + ]; +}