按日和月而不是年份过滤Drupal中的视图

时间:2014-07-03 19:51:27

标签: drupal-7 views

我的观点有问题,可以使用一些帮助。我有一个名为“人物”的内容类型。它有一个生日日期字段。我正在尝试创建一个视图,用于显示当天发生的所有生日,例如出生在这一天的观点。

因此,如果这个人的生日是1975年7月3日,那么这个人节点就会显示在这一天的“生日”中。 7月3日即可查看 - 无论是哪一年。

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

知道如何通过观点实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

  

对于drupal 7,你只需要视图模块就可以了。

     
      
  1. 在用户实体中添加日期字段“field_birthday”(例如)。
  2.   
  3. 添加“user”类型的视图
  4.   
  5. 使用复选框“允许多个值”
  6. 添加上下文过滤器“用户ID”   
  7. 将此代码放入“PHP上下文过滤器代码”:
  8.   
$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

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