| [ Index ] |
PHP Cross Reference of Drupal 6 (yi-drupal) |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * @file 4 * Views hooks. 5 */ 6 7 /** 8 * Implementation of hook_views_data(). 9 */ 10 function data_node_views_data() { 11 $data = array(); 12 13 $data['data_table_node']['table']['group'] = t('Data node'); 14 $data['data_table_node']['table']['title'] = t('Node'); 15 $data['data_table_node']['table']['join'] = array( 16 'node' => array( 17 // Describe how data_table_node joins to node table. 18 'left_field' => 'nid', 19 'field' => 'nid', 20 ), 21 ); 22 // Add an explicit relationship to the node table. 23 $data['data_table_node']['nid']['relationship'] = array( 24 'help' => t('Relate data_table_node to node table.'), 25 'label' => t('Relate data_table_node to node table'), 26 'base' => 'node', 27 'base field' => 'nid', 28 ); 29 $data['data_table_node']['item_count'] = array( 30 'title' => t('Item count'), 31 'help' => t('A count of the number of data items related to this node.'), 32 'field' => array( 33 'handler' => 'data_node_views_handler_field_item_count', 34 ), 35 ); 36 37 // Add an add/remove handler for each data table that supports adding/removing. 38 $tables = data_get_all_tables(); 39 foreach ($tables as $table) { 40 $meta = $table->get('meta'); 41 42 if (!empty($meta['data_node']['content_type'])) { 43 44 // Add an explicit relationship to data_table_node. 45 $data[$table->get('name')]['data_table_node_rel'] = array( 46 'group' => t('Data node'), 47 'title' => "Data table", 48 'relationship' => array( 49 'help' => t('Relate this data table to data_table_node.'), 50 'label' => t('Relate this data table to data_table_node'), 51 'base' => 'data_table_node', 52 'base field' => 'id', 53 'relationship field' => $meta['data_node']['id'], 54 ), 55 ); 56 $data[$table->get('name')]['data_node_add_remove'] = array( 57 'field' => array( 58 'title' => t('Add to/remove from node link'), 59 'help' => t('Provide a link to add or remove a data item to a node.'), 60 'handler' => 'data_node_views_handler_field_add_remove', 61 ), 62 ); 63 $data[$table->get('name')]['data_node_list'] = array( 64 'field' => array( 65 'title' => t('List of nodes'), 66 'help' => t('Provide a list of nodes this item is related to.'), 67 'handler' => 'data_node_views_handler_field_node_list', 68 ), 69 ); 70 } 71 } 72 73 return $data; 74 } 75 76 /** 77 * Implementation of hook_views_handlers(). 78 */ 79 function data_node_views_handlers() { 80 return array( 81 'info' => array( 82 'path' => drupal_get_path('module', 'data_node') .'/views', 83 ), 84 'handlers' => array( 85 // field handlers 86 'data_node_views_handler_field_item_count' => array( 87 'parent' => 'views_handler_field', 88 ), 89 'data_node_views_handler_field_add_remove' => array( 90 'parent' => 'views_handler_field', 91 ), 92 'data_node_views_handler_field_node_list' => array( 93 'parent' => 'views_handler_field', 94 ), 95 ), 96 ); 97 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Jul 9 18:01:44 2012 | Cross-referenced by PHPXref 0.7 |