makc9I
@makc9I
фрилансер, web разработчик

Как сделать сортировку с условием текущей даты в таблице collections modx?

Всем привет. У меня достаточно банальная задача, которую я не могу решить.
Есть сайт, на котором отображаются мероприятия.
Есть админка, где мероприятия заводятся, чтобы менеджеру было удобно, я написал такой плагин:

<?php
$e = & $modx->Event;
if ($e->name == 'OnDocFormSave') { 
//для меропреятий из Афиши
if ($resource->get('template') == 2) {
  $date = $resource->getTVValue('event_date');
  $resource->set('unpub_date', $date);
  $resource->save();
}


При сохранении мероприятия в поле "дата отмены публикации" помещается дата мероприятия, т.е. мероприятие автоматически снимается с публикации, в таблице коллекций оно автоматом падает в конец, все довольны.
Но, заказчик попросил добавить возможность смотреть прошедшие мероприятия на сайте.
Что привело к тому, что их теперь нельзя снимать с публикации, ибо иначе они будут не видны рядовому пользователю на сайте.
Пришлось этот плагин отключить.
И появилась проблема. Теперь в админке у менеджера отображаются все мероприятия с 1го созданного.
Вопрос в следующем, можно ли как то настроить отображение коллекций так, чтобы он задейстововал сегодняшнюю дату и сравнивал ее с TV полем с датой, в общем, чтобы сначала прошедшие мероприятия не маячили в админке, а были где-то в конце.

Может быть есть какой-то хак по типу EVAL для поля sort before, где можно написать условие выборки.
Как быть?
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
an-tar
@an-tar Куратор тега MODX
Full stack web developer
Что привело к тому, что их теперь нельзя снимать с публикации, ибо иначе они будут не видны рядовому пользователю на сайте.


А что мешает оставить все, как было, однако в сниппете вывода мероприятий(какой используете кстати?) указать явно, чтобы не опубликованные выводились тоже?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы