Добрый день. Мне нужно обработать вывод с помощью Smarty в сниппете, который вызывается из cronmanager. Как это можно сделать?
Саша, привет!
У тебя скорее всего вызов выполняется через коннектор или урезанный функционал. Проще всего в сниппете тогда вызвать соответствующее событие MODX-а, чтобы плагины сработали. Вот так пропиши:
$modx->switchContext('web'); $modx->invokeEvent('OnHandleRequest');
Должно помочь. Если не поможет, кидай мне в личку данные доступа и сниппет где происходит вызов.
Ясно. Про switchContext не знал, но догадался, что дело в контексте. Я решил проблему тем, что просто скопировал код из плагина modxsmarty по событию onHandleRequest. Тоже работает. :)
Тоже работает. :)
Ну, тоже вариант :)
А про контекст все очень просто: в админке OnHandleRequest тоже срабатывает, а там свой инстанс Smarty. Поэтому в плагине прописано условие игнорить mgr. А большинство коннектор- и т.п. запросов выполняются с инициализацией контекста mgr, так что просто вызов события не достаточно.
Да, я поэтому так и поступил. Спасибо за помощь.
Не за что