Tickets, Where, TV, дата, месяц, квартал, год
Здравствуйте! Делаю сайт с мероприятиями, использую Tickets и TV поле «Дата» — куда записываю дату начала события в формате «2022-02-22». Клиент попросил сделать выборку по параметру: месяц, квартал, год от сегодняшнего дня. Чтобы например нажал на кнопку «месяц» или открыл страницу с вызовом правильным, и показались все события которые идут от сегодняшнего дня на месяц вперед.
Как решить эту задачу?
Надо наверно брать сегодняшнюю дату, а потом прибавлять к ней определенное количество дней и брать этот диапазон в запросе, используя «where»?
Подскажите пожалуйста, спасибо.
UPD: Разобрался сам. Вот готовое решение:
Создаем сниппет «getToday»:
Создаем сниппет «EndOfMonth»:
И в нужном месте вызываем getTickets с параметрами:
Так же можно сделать снипеты с кварталом, и годом:
Про параметр tvFilters — можно почитать тут: www.riwkus.pro/notes/web/back-end/modx/and-tvfilters,-case-records,-conditions/
Фразы для поисковика: вывод ресурсов по дате, вывод ресурсов по дате на месяц вперед, сортировка по отрезку времени, запрос в pdotools по дате в тв поле
Как решить эту задачу?
Надо наверно брать сегодняшнюю дату, а потом прибавлять к ней определенное количество дней и брать этот диапазон в запросе, используя «where»?
Подскажите пожалуйста, спасибо.
UPD: Разобрался сам. Вот готовое решение:
Создаем сниппет «getToday»:
<?php
$today = date("Y-m-d");
return $today;
Создаем сниппет «EndOfMonth»:
<?php
$EndOfMonth = date("Y-m-d", strtotime("last day of this month"));
return $EndOfMonth;
И в нужном месте вызываем getTickets с параметрами:
[[!getTickets?
...
&includeTVs=`event_date_start`
&tvFilters=`event_date_start>=[[getToday]], event_date_start<=[[EndOfMonth]]`
]]
Так же можно сделать снипеты с кварталом, и годом:
$EndOfQuarter = date("Y-m-d", strtotime("+3 months"));
$EndOfYear = date("Y-m-d", strtotime("+1 year"));
Про параметр tvFilters — можно почитать тут: www.riwkus.pro/notes/web/back-end/modx/and-tvfilters,-case-records,-conditions/
Фразы для поисковика: вывод ресурсов по дате, вывод ресурсов по дате на месяц вперед, сортировка по отрезку времени, запрос в pdotools по дате в тв поле
Комментарии: 3
Думаю, если вы внимательно ознакомитесь с данным постом и поэксперементируете, то у авс все получится!
Да, примерно такая логика — диапазоны по датам. те самому вычислять эти интервалы и писать свой сниппет-фильтр с нужной логикой и передачей параметров в where сниппету.
Разобрался сам, выложил cвой вариант решения.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.