Tickets: рассылка новых тикетов пользователям

Подскажите, как можно реализовать почтовую рассылку новых тикетов всем пользователям? При этом рассылать нужно только новые тикеты из определенных секций.
Плагином на событие?
nweb
07 сентября 2016, 08:20
modx.pro
2
873
0

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

nweb
09 сентября 2016, 23:53
0
Подключил рассылку на 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? В чем может быть причина?
    Сергей Шлоков
    10 сентября 2016, 08:58
    +2
    Во-первых, никогда не правьте исходники. После обновления все пропадёт. Сделайте свой плагин с таким же условием.
    Во-вторых, зачем нужен промежуточный сниппет? Можно в плагине сразу прописать нужные условия.
    В-третьих, переменная $modx->resource пустая. Поэтому и условие не работает. В плагине доступна переменная $resource. Вот её и можно использовать.
      nweb
      10 сентября 2016, 21:17
      0
      Спасибо. Так и сделал, все работает.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3