有什么办法按周数过滤吗?


9

Drupal 7,意见3

我配置了几个视图,这些视图显示了多年的数据。使用日期字段作为过滤条件按年份过滤数据。对于每一年,我都有附件视图,需要按星期进一步过滤。我想知道是否有任何方法可以添加一个过滤条件来按周编号(即第1周到第52周)进行过滤,而不是确定每年几周的确切日期并将其手动输入为过滤条件。每个视图的唯一需要设置的日期是年份,其余日期根据星期数自动发生。

我在表视图中按年和周汇总了大量数据,其中每列都是附加的视图附件,并尝试避免必须手动输入每年的星期日期过滤器。

有人对此有任何建议/提示吗?非常感谢。

这是我当前正在使用的代码:

function x_week_start($date) {
    $ts = strtotime($date);
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    return date('Y-m-d', $start); 
}

function x_week_end($date) {
    $ts = strtotime($date);
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    return date('Y-m-d', strtotime('next saturday', $start)); 
}

$date = '2013-01-14';
$start = x_week_start($date);
$end = x_week_end($date);
$inquiry_date = date('Y-m-d', $data->field_field_inquiry_date[0]['raw']['value']);

if ($inquiry_date <= $start) {return FALSE;}

我应该补充一点field_inquiry_date field是Unix时间戳。


我认为您必须创建自己的自定义过滤器才能看到该模块,这可能对drupal.org/project/customfilter
Mohammed Gomma 2015年


看起来Bala的链接的方法应该很好用。
Niall Murphy

Answers:


2

这是一个技巧:通过导航到“管理”>“配置”>“区域和语言”>“日期和时间”并单击“格式”选项卡(admin / config / regional / date-time / formats),创建新的日期格式。

将其设置为W(大写的W),它将为您提供周号,您可以将其与任何日期一起使用。

这样,您可以直接在视图中包括日期字段,设置W过滤器并使用聚合,过滤器等,而无需任何其他编码。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.