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 field
jest to uniksowy znacznik czasu.
Odpowiedzi:
Oto sztuczka: utwórz nowy format daty, przechodząc do opcji Administrator> Konfiguracja> Regionalny i język> Data i godzina i klikając kartę Formaty (admin / config / regional / date-time / format).
Ustaw na W (to wielkie litery W), a otrzymasz numer tygodnia, którego możesz użyć z dowolną datą.
W ten sposób możesz uwzględnić pole daty bezpośrednio w widokach, ustawić filtr W i użyć agregacji, filtra itp. Bez dodatkowego kodowania.
źródło
https://www.drupal.org/project/views_date_format_sql może pomóc w zgrupowaniu danych tabeli z formatowaniem daty SQL.
źródło