Tickets: рассылка новых тикетов пользователям
Подскажите, как можно реализовать почтовую рассылку новых тикетов всем пользователям? При этом рассылать нужно только новые тикеты из определенных секций.
Плагином на событие?
Плагином на событие?
Комментарии: 3
Подключил рассылку на Sendex. Сниппет, инициализирующий Sendex, поместил в плагин Tickets.
case 'OnDocFormSave':
/* @var Ticket $resource */
if ($mode == 'new' && $resource->class_key == "Ticket") {
$modx->cacheManager->delete('tickets/latest.tickets');
$resource = $modx->getObject('modResource',$resourceId);
$modx->runSnippet('mailer');
}
Сам сниппет:$output = $modx->resource->get('parent');
if ($output == 44){
$modx->runSnippet('mailer2');
}
else die;
Если не проверять parent, то тикет публикуется и письмо генерируется. Если проверять, то ничего не происходит. Вопрос: неправильно проверяется parent? В чем может быть причина?
Во-первых, никогда не правьте исходники. После обновления все пропадёт. Сделайте свой плагин с таким же условием.
Во-вторых, зачем нужен промежуточный сниппет? Можно в плагине сразу прописать нужные условия.
В-третьих, переменная $modx->resource пустая. Поэтому и условие не работает. В плагине доступна переменная $resource. Вот её и можно использовать.
Во-вторых, зачем нужен промежуточный сниппет? Можно в плагине сразу прописать нужные условия.
В-третьих, переменная $modx->resource пустая. Поэтому и условие не работает. В плагине доступна переменная $resource. Вот её и можно использовать.
Спасибо. Так и сделал, все работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.