Почему не фильтруются новости по дате?

Аватар пользователя towi towi 25 ноября в 16:30

Задача: Нужно фильтровать новости по категории и дате создания новости.

Фильтрация по категории легко реализовалась: В Edit View -> FILTER CRITERIA -> Content: Has taxonomy term

А вот по дате создания новости не фильтруются. Для фильтрации по дате выбрал фильтр Taxonomy term: Post date

Дата новостей сегодняшняя:

Когда ее ввожу в поле никакие новости не отображаются:

Я даже пробовал вводить дополнительно часы и минуты, но это также не давало результата.

Настройки фильтра вот такие:

Возникает ряд вопросов:
1. Это происходит потому что у моей Content type News нет поля Date? И его нужно добавить в мой Content type?
2. Может нужно было выбрать фильтр Content: Date вместо Taxonomy term: Post date ?
3. Я неправильно ввожу дату в поле поиска?
4. Или в настройках фильтра что-то не так?

Лучший ответ

Аватар пользователя Andruxa Andruxa 25 ноября в 21:21
1

1 - можно фильтровать по дате создания новости, либо по дате последней правки. Это стандартные поля ноды, они уже есть. Можно добавить свое поле, если эти два варианта чем-то не устраивают.
2 - да, нужно сортировать по полям ноды, а не термина таксономии
3 - надо знать, как хранится дата. Сейчас в настройках фильтра виден формат CCYY-MM-DD HH:MM:SS
особую сложность тут представляет HH:MM:SS. Если дата хранится с точностью до секунды, то вам надо ввести в фильтре ее так же с точностью до секунды, иначе она не совпадет с датой в ноде.
Как правило, используют фильтр по диапазону дат: от 00:00:00 до 23:59:59 к введенной дате.
Попробуйте выбрать в настройках фильтра оператор is between, если не сработает, то тогда 2 фильтра дата >= и дата <
4 - см. п.3

Комментарии

Аватар пользователя Andruxa Andruxa 25 ноября в 21:21
1

1 - можно фильтровать по дате создания новости, либо по дате последней правки. Это стандартные поля ноды, они уже есть. Можно добавить свое поле, если эти два варианта чем-то не устраивают.
2 - да, нужно сортировать по полям ноды, а не термина таксономии
3 - надо знать, как хранится дата. Сейчас в настройках фильтра виден формат CCYY-MM-DD HH:MM:SS
особую сложность тут представляет HH:MM:SS. Если дата хранится с точностью до секунды, то вам надо ввести в фильтре ее так же с точностью до секунды, иначе она не совпадет с датой в ноде.
Как правило, используют фильтр по диапазону дат: от 00:00:00 до 23:59:59 к введенной дате.
Попробуйте выбрать в настройках фильтра оператор is between, если не сработает, то тогда 2 фильтра дата >= и дата <
4 - см. п.3

Аватар пользователя towi towi 25 ноября в 22:09

Cпасибо. А где можно изменить чтобы в настройках фильтра формат был не CCYY-MM-DD HH:MM:SS а CCYY-MM-DD? Ну тоесть чтобы фильтра устраивало что только день/месяц/год пользователь задает.

Аватар пользователя Andruxa Andruxa 25 ноября в 23:35
1

это, скорее всего, зависит от настроек поля, со значениями которого вы собираетесь сравнивать дату из фильтра.
возможно, будет проще всего добавить новостям поле с датой, указав детализацию без времени.