image_field_views_data_views_data_alter(array &$data, FieldStorageConfigInterface $field_storage)
Implements hook_field_views_data_views_data_alter().
Views integration to provide reverse relationships on image fields.
File
- core/modules/image/image.views.inc, line 39
- Provide views data for image.module.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | function image_field_views_data_views_data_alter( array & $data , FieldStorageConfigInterface $field_storage ) { $entity_type_id = $field_storage ->getTargetEntityTypeId(); $field_name = $field_storage ->getName(); $entity_manager = \Drupal::entityManager(); $entity_type = $entity_manager ->getDefinition( $entity_type_id ); $pseudo_field_name = 'reverse_' . $field_name . '_' . $entity_type_id ; /** @var \Drupal\Core\Entity\Sql\DefaultTableMapping $table_mapping */ $table_mapping = $entity_manager ->getStorage( $entity_type_id )->getTableMapping(); list( $label ) = views_entity_field_label( $entity_type_id , $field_name ); $data [ 'file_managed' ][ $pseudo_field_name ][ 'relationship' ] = array ( 'title' => t( '@entity using @field' , array ( '@entity' => $entity_type ->getLabel(), '@field' => $label )), 'label' => t( '@field_name' , array ( '@field_name' => $field_name )), 'help' => t( 'Relate each @entity with a @field set to the image.' , array ( '@entity' => $entity_type ->getLabel(), '@field' => $label )), 'group' => $entity_type ->getLabel(), 'id' => 'entity_reverse' , 'base' => $entity_type ->getDataTable() ? : $entity_type ->getBaseTable(), 'entity_type' => $entity_type_id , 'base field' => $entity_type ->getKey( 'id' ), 'field_name' => $field_name , 'field table' => $table_mapping ->getDedicatedDataTableName( $field_storage ), 'field field' => $field_name . '_target_id' , 'join_extra' => array ( 0 => array ( 'field' => 'deleted' , 'value' => 0, 'numeric' => TRUE, ), ), ); } |
Please login to continue.