Как сделать сравнение аргумента views с преобразованным значением поля

Главные вкладки

Аватар пользователя fexmusicmutuz@gmail.com fexmusicmutuz@g... 5 сентября 2011 в 13:14

Добрый день!

Имеется views, в котором я получаю набор данных из нескольких столбцов. Один из них - дата создания(формат timestamp).
На данный момент в выборку попадают все данные (за все года), что меня не устраивает. Необходимо иметь возможность передать views год, в качестве аргумента и получить данные за этот год.
Проблема в том, что год в явном виде не хранится и во views необходимо каким-то образом сперва преобразовать поле "дата создания" к году. И сделать это нужно именно перед сравнением аргументов.

Как это можно сделать?
Вариант - создать дополнительное поле "ГОД" в типе содержимом, и в хуке автоматически заполнять это поле не рассматривается, ибо это криво.

Комментарии

Аватар пользователя fexmusicmutuz@gmail.com fexmusicmutuz@g... 5 сентября 2011 в 14:38

Пропустил я этот момент.
Поле "Дата создания" это не дата создания ноды, а собственное CCK-поле, содержащее дату из предметной области.

Аватар пользователя kalabro kalabro 5 сентября 2011 в 15:50

Модулем Date тоже не хотите пользоваться? У него среди настроек во Views есть «Granularity».
Ещё можно написать свой хендлер или воспользуваться хуками вьюс типа hook_views_query_alter(), но это всё уже сложнее.