function hook_field_views_data

Same name and namespace in other branches
  1. 9 core/modules/views/views.api.php \hook_field_views_data()
  2. 8.9.x core/modules/views/views.api.php \hook_field_views_data()
  3. 11.x core/modules/views/views.api.php \hook_field_views_data()

Override the default Views data for a Field API field.

When collecting the views data, views_views_data() invokes this hook for each field storage definition, on the module that provides the field storage definition. If the return value is empty, the result of views_field_default_views_data() is used instead. Then the result is altered by invoking hook_field_views_data_alter() on all modules.

If no hook implementation exists, hook_views_data() falls back to views_field_default_views_data().

Parameters

\Drupal\field\FieldStorageConfigInterface $field_storage: The field storage config entity.

Return value

array An array of views data, in the same format as the return value of hook_views_data().

See also

views_views_data()

hook_field_views_data_alter()

hook_field_views_data_views_data_alter()

Related topics

15 functions implement hook_field_views_data()

Note: the procedural functions in this list are found by pattern matching, so the list may include some functions that are not actually implementations of this hook.

core_field_views_data in core/modules/views/views.views.inc
Implements hook_field_views_data().
DatetimeRangeViewsHooks::fieldViewsData in core/modules/datetime_range/src/Hook/DatetimeRangeViewsHooks.php
Implements hook_field_views_data().
DatetimeViewsHooks::fieldViewsData in core/modules/datetime/src/Hook/DatetimeViewsHooks.php
Implements hook_field_views_data().
datetime_field_views_data in core/modules/datetime/datetime.views.inc
Implements hook_field_views_data().
datetime_range_field_views_data in core/modules/datetime_range/datetime_range.views.inc
Implements hook_field_views_data().

... See full list

1 invocation of hook_field_views_data()
views_views_data in core/modules/views/views.views.inc
Implements hook_views_data().

File

core/modules/views/views.api.php, line 543

Code

function hook_field_views_data(\Drupal\field\FieldStorageConfigInterface $field_storage) {
  $data = views_field_default_views_data($field_storage);
  foreach ($data as $table_name => $table_data) {
    // Add the relationship only on the target_id field.
    $data[$table_name][$field_storage->getName() . '_target_id']['relationship'] = [
      'id' => 'standard',
      'base' => 'file_managed',
      'base field' => 'target_id',
      'label' => t('image from @field_name', [
        '@field_name' => $field_storage->getName(),
      ]),
    ];
  }
  return $data;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.