Drupal 7:使用BETWEEN运算符为非日期字段显示过滤器?

时间:2012-08-16 13:57:48

标签: php drupal drupal-7 drupal-views field

我刚刚开始维护一个非常大的Drupal网站。该网站有一个列出歌曲的播放列表。每首歌曲的内容类型具有文本字段,用户在播放歌曲的时间键入该文本字段。是的,它是一个TEXT字段,而不是日期字段:(因此默认情况下,在视图中我无法使用BETWEEN运算符公开过滤器。呃。

有没有办法可以将此字段转换为日期字段,以便我可以使用between运算符?或者也许我可以做一些其他的解决方案?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

最好的办法是使用自定义模块,在保存/加载节点时将该值存储在实际的Drupal日期字段中。

function mymodule_node_presave($node) {
  if ($node->type == 'whatever_content_type') {
    $node->actualdatefield[LANGUAGE_NONE][0]['value'] = date('Y-m-d g:i:s', strtotime($node->userdatefield[LANGUAGE_NONE][0]['value']));
  }
}

这样的事情。您希望通过内容列表页面(如发布节点)触发其中一个触发node_save事件的更新选项,以更新现有节点。