我的意思是在视图中有自定义日期处理程序,根据视图文档我应该实现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), 我为测试设置了hanlder日期处理程序,但它无法正常工作,只显示 Mul2:Array ,并在配置中显示已损坏/缺失的处理程序。
我尝试使用视图数据成功获取自定义表的数据。在处理之前为字段设置处理程序是否正确(如在节点中创建)? 任何解决方案?任何想法?
答案 0 :(得分:2)
Impelementation方法是正确的,我的错误是使用了为它设置处理程序$data['node']['created']
之前的字段。
如果你想改变处理字段的默认处理程序,你使用hook_views_data_alter(&$data)
而不是尝试再次为它设置处理程序!!!(Mul2:数组,因为你试图为处理字段设置处理程序)。