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

Дополнение: Tickets

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

Комментарии (3)

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