Drupal 7, wyświetlenia 3
Mam skonfigurowanych kilka widoków, które wyświetlają dane przez wiele lat. Dane są filtrowane według roku przy użyciu pola daty jako kryterium filtru. Na każdy rok mam widoki załączników, które muszę filtrować dalej według tygodnia. Zamiast określać dokładne daty tygodni każdego roku i wprowadzać je ręcznie jako kryteria filtrowania, zastanawiam się, czy istnieje jakiś sposób, aby dodać kryterium filtrowania do filtrowania według numeru tygodnia, tj. Od tygodnia 1 do tygodnia 52. W ten sposób tylko data, którą należy ustawić, to rok dla każdego widoku, a reszta dzieje się automatycznie zgodnie z numerem tygodnia.
Agreguję wiele danych według roku i tygodnia w widoku tabeli, w którym każda kolumna stanowi załącznik do dodatkowego widoku, i staram się unikać konieczności ręcznego wprowadzania filtrów dla dat tygodnia w roku.
Czy ktoś ma dla mnie jakieś porady / wskazówki? Dziękuję bardzo.
Oto kod, z którym obecnie gram:
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;}
Powinienem dodać, że field_inquiry_date fieldjest to uniksowy znacznik czasu.