В Drupal 7 с включенным модулем Views и Date было довольно просто отфильтровать представление по дате: пользовательский интерфейс только что дал вам возможность сделать это.
В Drupal 8, однако, поле даты и представления являются частью ядра, но если вы выберете поле диапазона дат в качестве фильтра в представлениях, оно больше не будет предлагать вам параметры, специфичные для даты, но показывает только параметры фильтрации для текстовых полей:
Однако параметры для конкретной даты доступны для внутренних значений даты, таких как «Содержание: изменено».
Поскольку я хотел бы показывать только определенные узлы с датой до или после фактической даты, где дата указана в настраиваемом поле диапазона дат, это не соответствует моим потребностям.
Как я могу отфильтровать представление в Drupal 8 по полю даты с конкретными операциями по дате?
Ответы:
Удивительно, но с Drupal 8 это пока невозможно. Но есть долгая история пытается заставить его работать: https://www.drupal.org/node/2786577 последний патч , вы найдете в этой статье, кажется, работает. Вы можете скачать и применить его, используя следующие команды:
Если
git
нет на вашем сервере, попробуйте:Чтобы применить патчи, вы должны
core
сначала перейти к папке. И имейте в виду, что вы должны повторно применить этот патч после совершения обновления ядра. (Это отстой!) Так что будем надеяться, что боги Drupal скоро получат это ядро!источник
drush updatedb --entity-updates
Мне пришлось отфильтровать тип контента, содержащий даты аукционов, на три группы (сейчас онлайн, готовятся к регистрации и готовы зарегистрироваться). Поскольку это включало несколько диапазонов дат, я написал плагин на основе этой статьи: https://www.webomelette.com/creating-custom-views-filter-drupal-8
В основном это делает три вещи: - Преобразование даты в поле в местную дату и время. - Фильтр имеет три возможных параметра «сейчас в сети», «предстоящий» и «прочее». - В зависимости от настроек он добавляет возможные предложения where в запрос
Это работает и кажется надежным для будущих обновлений.
источник
Используя плагин интервального фильтра, вы можете выбрать два поля, которые будут использоваться соответственно в качестве минимальной и максимальной даты, это вводит понятие диапазона. Затем вы можете отфильтровать представления, указав дату, которая должна содержаться или не содержаться в диапазоне.
Посмотрите: https://github.com/barsan-ds/interval-filter примеры
источник
В настоящее время просмотры не очень осведомлены о диапазонах дат. Он может фильтровать дату начала или окончания как отдельные фильтры, но не весь диапазон дат в целом.
Чтобы включить фильтрацию по диапазону дат, я создал модуль Views Range Range Filters . В настоящее время он имеет 3 дополнительных фильтра для полей Datetime Range:
Включает
Фильтры по диапазонам дат, которые включают предоставленную дату.
Перекрытия
Фильтры по диапазонам дат, которые перекрываются с указанным диапазоном дат.
Заканчивается
Фильтры по диапазонам дат, которые заканчиваются указанными датами. Эквивалент «Дата окончания <= дата поставки». Полезно для сгруппированных фильтров при использовании «Дата начала».
источник
Дата всплывающего окна Этот модуль служит цели.
источник