SearchRecent postsThe Random ToolboxDrupal 7 Setting up variables for use in a template (preprocess and process functions) Rendering Drupal 7 fields (the right way) Linux Secure Copy (scp) command Restrict Free Shipping in Magento Quickbooks Text Connection Ticket Cross-Site Request Forgery (CSRF) jQuery Events: MouseOver / MouseOut vs. MouseEnter / MouseLeave Monthly archive
|
Custom Drupal Views and Fields using hook_views_api() and hook_views_data()Create a custom module to use a database table for a view. Replace MODULENAME with the name of your module and TABLENAME with the name of your table. MODULENAME.info name = MODULENAME description = This module shows fields from a db table using views dependencies[] = views core = 6.x MODULENAME.module <?php function MODULENAME_views_api() { return array( 'api' => 2, 'path' => drupal_get_path('module', 'MODULENAME') . '/modules', ); } MODULENAME/modules/MODULENAME.views.inc <?php function MODULENAME_views_data() { $data['TABLENAME']['table']['base'] = array( 'field' => 'id', 'title' => t('Email Archive Table'), 'help' => t('An archive of emails sent by the site.'), 'weight' => -10, ); $data['TABLENAME']['table']['group'] = t('Email Archive'); $data['TABLENAME']['body'] = array( 'title' => t('Email Body'), 'help' => t('The message sent in the email.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, ), 'sort' => array( 'handler' => 'views_handler_sort', ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), 'argument' => array( 'handler' => 'views_handler_argument_string', ), ); $data['TABLENAME']['subject'] = array( 'title' => t('Email Subject'), 'help' => t('The subject of the email.'), 'field' => array( 'handler' => 'views_handler_field', 'click sortable' => TRUE, ), 'sort' => array( 'handler' => 'views_handler_sort', ), 'filter' => array( 'handler' => 'views_handler_filter_string', ), 'argument' => array( 'handler' => 'views_handler_argument_string', ), ); $data['TABLENAME']['date'] = array( 'title' => t('Timestamp field'), 'help' => t('The date/time of the email.'), 'field' => array( 'handler' => 'views_handler_field_date', 'click sortable' => TRUE, ), 'sort' => array( 'handler' => 'views_handler_sort_date', ), 'filter' => array( 'handler' => 'views_handler_filter_date', ), ); return $data; } ?> Other Helpful Links about Views |