【问题标题】:Drupal 7: Views exposed filter with BETWEEN operator for non-date field?Drupal 7:使用 BETWEEN 运算符查看非日期字段的公开过滤器?
【发布时间】:2012-08-16 13:57:48
【问题描述】:

我刚开始维护一个相当大的 Drupal 网站。该网站有一个列出歌曲的播放列表。每首歌曲的内容类型都有一个文本字段,用户可以在其中输入歌曲的播放时间。是的,它是 TEXT 字段,而不是日期字段 :( 所以默认情况下,在 Views 中,我无法使用 BETWEEN 运算符公开过滤器。呃。

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

【问题讨论】:

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


    【解决方案1】:

    您最好的选择是使用自定义模块,在保存/加载节点时将该值存储在实际的 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 事件的更新选项之一,以更新现有节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多