正确的方法来创建drupal视图字段处理程序

时间:2012-07-29 07:36:58

标签: drupal drupal-7 views

我的意思是在视图中有自定义日期处理程序,根据视图文档我应该实现hook_views_api和hook_views_data。

我的伪

 function mymodule_views_api() {
  return array(
 'api' => views_api_version(),
 );
 }

并在hook_views_data()

function mymodule_views_data() {
  $data = array();
  $data['node']['created'] = array(
 'group' => t('Mul2'),
'title' => t('Post date'), // The item it appears as on the UI,
'help' => t('The date the content was posted.'), // The help that appears on the UI,
'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;

}

没关系,创建一个视图字段gorup(Mul2), enter image description here 我为测试设置了hanlder日期处理程序,但它无法正常工作,只显示 Mul2:Array ,并在配置中显示已损坏/缺失的处理程序。

我尝试使用视图数据成功获取自定义表的数据。在处理之前为字段设置处理程序是否正确(如在节点中创建)? 任何解决方案?任何想法?

1 个答案:

答案 0 :(得分:2)

Impelementation方法是正确的,我的错误是使用了为它设置处理程序$data['node']['created']之前的字段。 如果你想改变处理字段的默认处理程序,你使用hook_views_data_alter(&$data)而不是尝试再次为它设置处理程序!!!(Mul2:数组,因为你试图为处理字段设置处理程序)。