【问题标题】:Filter view in Drupal by day and month but not year在 Drupal 中按日和月过滤视图,而不是按年
【发布时间】:2014-07-03 19:51:26
【问题描述】:

我在视图方面遇到了问题,需要一些帮助。我有一个名为“人”的内容类型,它有一个生日日期字段。我正在尝试创建一个视图来显示当天发生的所有生日,例如出生于这一天的观点。

因此,如果此人的生日是 1975 年 7 月 3 日,那么无论是哪一年,只要是 7 月 3 日,人节点就会显示在“今天出生”视图中。

我尝试在视图中添加日期过滤器,粒度设置为天并相对于“今天”,但它始终匹配年份,而不仅仅是月份和日期。

知道如何通过视图实现这一目标吗?

【问题讨论】:

    标签: drupal-7 views


    【解决方案1】:

    对于 drupal 7,您只需要视图模块即可。

    1. 在用户实体中添加日期字段“field_birthday”(例如)。
    2. 添加“用户”类型的视图
    3. 使用复选框“允许多个值”添加上下文过滤器“用户 ID”
    4. 将此代码放在“PHP 上下文过滤器代码”中:
    $results = db_query("SELECT entity_id FROM field_data_field_birthday 
        WHERE DATE_FORMAT(field_birthday_value,'%m-%d') = DATE_FORMAT(NOW(),'%m-%d') 
        AND entity_type = 'user'");
    $ids = array();
    foreach ($results as $result) {
        $ids[] = $result->entity_id;
    }
    return implode(',',$ids);
    

    来自https://www.drupal.org/node/313498#comment-7860111

    在您的情况下,您可能必须在节点上进行连接,并且生日字段返回 nid 而不是 uid,但它可以类似地工作。

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 2013-03-08
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      相关资源
      最近更新 更多