function hook_views_data_alter in Views (for Drupal 7) 8.3
Same name and namespace in other branches
- 6.3 docs/docs.php \hook_views_data_alter()
- 6.2 docs/docs.php \hook_views_data_alter()
- 7.3 views.api.php \hook_views_data_alter()
Alter the table structure defined by hook_views_data().
Parameters
array $data: An array of all Views data, passed by reference. See hook_views_data() for structure.
See also
Related topics
8 functions implement hook_views_data_alter()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- comment_views_data_alter in modules/
comment.views.inc - Use views_data_alter to add items to the node table that are relevant to comments.
- contact_views_data_alter in modules/
contact.views.inc - Implements hook_views_data_alter().
- field_views_data_alter in modules/
field.views.inc - Implements hook_views_data_alter().
- file_field_views_data_views_data_alter in modules/
file.views.inc - Implements hook_field_views_data_views_data_alter().
- image_field_views_data_views_data_alter in modules/
image.views.inc - Implements hook_field_views_data_views_data_alter().
1 invocation of hook_views_data_alter()
- _views_fetch_data_build in includes/
cache.inc - Build, set the views data cache if empty and return the views data.
File
- ./
views.api.php, line 273 - Describes hooks and plugins provided by the Views module.
Code
function hook_views_data_alter(array &$data) {
// This example alters the title of the node:nid field in the Views UI.
$data['node']['nid']['title'] = t('Node-Nid');
// This example adds an example field to the users table.
$data['users']['example_field'] = array(
'title' => t('Example field'),
'help' => t('Some example content that references a user'),
'handler' => 'hook_handlers_field_example_field',
);
// This example changes the handler of the node title field.
// In this handler you could do stuff, like preview of the node when clicking
// the node title.
$data['node']['title']['handler'] = 'modulename_handlers_field_node_title';
// This example adds a relationship to table {foo}, so that 'foo' views can
// add this table using a relationship. Because we don't want to write over
// the primary key field definition for the {foo}.fid field, we use a dummy
// field name as the key.
$data['foo']['dummy_name'] = array(
'title' => t('Example relationship'),
'help' => t('Example help'),
'relationship' => array(
'base' => 'example_table',
// Table we're joining to.
'base field' => 'eid',
// Field on the joined table.
'field' => 'fid',
// Real field name on the 'foo' table.
'id' => 'standard',
'label' => t('Default label for relationship'),
'title' => t('Title seen when adding relationship'),
'help' => t('More information about relationship.'),
),
);
// Note that the $data array is not returned – it is modified by reference.
}