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.