Допустим, создаем сниппет today со следующим кодом:
return date("U");
— который выведет текущую дату в unix-формате. А дальше, при помощи фильтров сравниваем приведенную к этому же формату дату события и, если она меньше today-даты — выводить «прием заявок окончен», иначе — форму заявки.
Создал плагин adminStyles на событие OnManagerPageInit
И в вышеописанном ксс-файле добавил строчку
Навскидку, стоит 25-30к и недели полторы работы если не на 8 часов в день.
— не выдаст желаемый результат в плагине?
— единственная сложность — связывать соответствующие айди ресурсов из разных контекстов и передавать их в сниппет, ну да это, думаю, решается за счет плагина.
upd: упс, пардон, привел пример для ms2gallery, но для msgallery можно реализовать по аналогии join'ами.
today
и вызывать в шаблоне:
+ я так понимаю, т.к. у вас страница с вызовом — это «событие» календаря, то необходимо смотреть tv-параметр, по которому определяется дата «проведения» события, а не его создания в админке. И тогда вам или нужно преобразовать дату из tv в unix-формат (фильтром :strtotime) или настроить формат «вывода» в настройка тв-параметра.
Вам потребуется внешнее условие, для простоты, допустим, оно может быть задано с помощью фильтров + минимальной логики.
Допустим, создаем сниппет today со следующим кодом:
— который выведет текущую дату в unix-формате. А дальше, при помощи фильтров сравниваем приведенную к этому же формату дату события и, если она меньше today-даты — выводить «прием заявок окончен», иначе — форму заявки.
Y.O.B.A.
И вызываешь в нужном месте [[!yoba1]]. Итог: в 2 раза меньше запросов к бд.
Но… «вложенные условия» работают несколько иначе, чем в php, а именно — [[действия]] срабатывают «изнутри», т.е. сначала срабатывают все внутренние сниппеты/чанки, а уже потом — внешние.
Грубо говоря, в вашем примере сначала 2 раза срабатывает pdoResources, а уже потом условие. Из-за этого при генерации страницы обрабатываются ненужные запросы. Лучший выход при таких задачах (имхо) — писать свой сниппет на пшп, где используются обычные условия if else, а уже внутри — запускаются сниппеты.
Соответственно, если вы хотите вывести все «возможные» значения, при том что их еще нет в фильтруемом списке (а значит при выборе их по-умолчанию фильтр выдаст «подходящих товаров не найдено»), вам нужен свой шаблон вывода (кастомный чанк) и своя логика фильтрации.