1

我的意思是在视图中有自定义日期处理程序,根据视图文档,我应该实现 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;

}

没关系,创建一个视图字段组(Mul2), 在此处输入图像描述 我将它设置为用于测试的处理日期处理程序,但它不能正常工作,只显示Mul2: Array和配置中的损坏/丢失处理程序。

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

4

1 回答 1

2

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

于 2012-07-30T05:29:34.993 回答