function draggableviews_views_data_alter in DraggableViews 7.2
Same name and namespace in other branches
- 8 draggableviews.module \draggableviews_views_data_alter()
- 2.0.x draggableviews.module \draggableviews_views_data_alter()
Implements hook_views_data_alter().
File
- views/
draggableviews.views.inc, line 11 - Views hooks implementations.
Code
function draggableviews_views_data_alter(&$data) {
$data['draggableviews_structure']['weight'] = array(
'title' => t('Weight'),
'group' => t('Draggableviews'),
'field' => array(
'help' => t('Display the weight value.'),
'handler' => 'views_handler_field_numeric',
'click sortable' => TRUE,
),
'sort' => array(
'help' => t('Sort entities by the draggableviews weight table field.'),
'handler' => 'draggableviews_handler_sort',
),
'filter' => array(
'help' => t('Filter by the draggableviews weight value (Native handler only).'),
'handler' => 'views_handler_filter_numeric',
),
);
$data['draggableviews_structure']['parent'] = array(
'title' => t('Parent'),
'help' => t('The parent entity id.'),
'group' => t('Draggableviews'),
'field' => array(
'handler' => 'views_handler_field_numeric',
),
'filter' => array(
'help' => t('Filter by the draggableviews parent\'s entity id (Native handler only).'),
'handler' => 'views_handler_filter_numeric',
),
);
foreach (entity_get_info() as $entity_type => $info) {
if (isset($info['base table']) && isset($data[$info['base table']]['table'])) {
$data[$info['base table']]['draggableviews'] = array(
'title' => $data[$info['base table']]['table']['group'],
'group' => t('Draggableviews'),
'help' => t('Provide a draggable functionality.'),
'real field' => $info['entity keys']['id'],
'field' => array(
'handler' => 'draggableviews_handler_field_draggable',
'click sortable' => FALSE,
),
);
// Explain to every entity how to join with draggableviews structure table.
$data['draggableviews_structure']['table']['join'][$info['base table']] = array(
'handler' => 'draggableviews_join_handler',
'left_table' => $info['base table'],
// Because this is a direct link it could be left out.
'left_field' => $info['entity keys']['id'],
'field' => 'entity_id',
);
}
}
}