Очистка кеша при отложенной публикации через TicketsForm!

Приветствую сообщество!

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

Т.е. вносим поле pub_date и по идее по наступлению этой даты, ресурс автоматически публикуется.
НО! Он не публикуется, т.к. ему нужно очистить КЕШ, т.к. новый тикет не появляется! Так вот КЕШ то не очищается и получается, что все равно надо зайти в админку и очистить его, но так по идее ведь не должно работать? Иначе зачем предусмотрена возможность отложенной публикации.

Обновился на новый MODX 2.7 может в этом косяк? (вроде на другом сайте, где еще старый стоит, я так же делаю с unpub_date и все четко работает)

Люди добрые подскажите куда копать!

UPD1
Нашел такое решение, не уверен на счет надежности его использования и нагрузки, но для меня думаю подходит, если можете подскажите вариант лучше, буду благодарен!
Код плагина (решения):
switch ($modx->event->name) {
    case 'OnDocFormSave':
        if ($resource instanceof Ticket) {
            $contexts = array();
            $query = $modx->newQuery('modContext');
            $query->select($modx->escape('key'));
            if ($query->prepare() && $query->stmt->execute()) {
                $contexts = $query->stmt->fetchAll(PDO::FETCH_COLUMN);
            }
            $modx->cacheManager->autoPublish(array_diff($contexts, array('mgr')));
        }
        break;
}
Andrey
07 декабря 2018, 15:59
modx.pro
483
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0