【问题标题】:Drupal 8: Using custom date field in View / Filter criteriaDrupal 8:在查看/过滤条件中使用自定义日期字段
【发布时间】:2017-03-02 22:27:10
【问题描述】:

我有一个名为 Banner 的“内容类型”,它有两个日期字段:

ad_start 

ad_stop

都设置为日期和时间格式。 ad_start 默认设置为“现在”,ad_stop 默认设置为“+7 天”。

然后我有一个视图“Frontpage Floor Banner”,我想在其中有一个过滤器,以便过滤掉所有带有

的横幅
ad_start => "now"

ab_stop <= "now"

在配置过滤条件下:内容:开始(field_ad_start),操作员有以下可能的选项可供选择:

Is equal to
Is not equal to
Contains
Contains any word
Contains all words
Starts with
Does not start with
Ends with
Does not end with
Does not contain
Length is shorter than
Length is longer than
Regular expression
Is empty (NULL)
Is not empty (NOT NULL)

但是我不明白我可以使用哪个运算符来实现这一点......

这是在 8.0.0-beta9 上。

【问题讨论】:

    标签: sorting date drupal filter


    【解决方案1】:

    确保使用最新版本的 Drupal 8,因为有一段时间没有用于视图的日期时间字段过滤器,它会将其视为整数而不是日期。在 Drupal 8.0.5(撰写本文时的最新版本)中,核心 Datetime 字段的可用运算符是:

    小于 小于或等于 等于 不等于 大于或等于 大于 在。。。之间 不在之间 正则表达式 为空(NULL) 不为空(NOT NULL)

    因此,对于 ad_start,您可以选择“大于或等于”,对于“值类型”,选择“与当前时间的偏移量,例如“+1 天”或“-2 小时 -30 分钟”,然后输入:

    now
    

    对于 ad_stop 选择“小于或等于”,对于“值类型”选择“与当前时间的偏移量,例如“+1 天”或“-2 小时 -30 分钟”,然后输入:

    now
    

    view datetime field filter example

    请注意,Drupal 8 尚不支持 Date 模块,但 D8 确实有一个(有些有限的)核心 Datetime 字段,我假设您正在使用它。

    【讨论】:

    • @Caper Voogt ,你上面提到的条件是错误的。
    • 嗯,已经一年多了,Drupal 8 变化很快,所以是的,现在可能是错误的。
    • 我们现在有了drupal.org/project/time_range,它为时间输入提供了更好的用户界面。在视图中过滤时,答案中的方法效果很好
    【解决方案2】:

    确保启用日期视图 (date_views) 模块。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多