Если событие происходит в PHP (обработчик оплаты, плагин, процессор), поставьте письма в очередь через сервис:
$data = [
'email' => $order->get('email'), // получатель для стратегии «Пользователь события»
'order_id' => $order->get('id'), // → [[+order_id]] в шаблоне
'fullname' => $order->get('name'), // → [[+fullname]]
'total' => $order->get('total'), // → [[+total]]
];
$count = $modx->services->get('Vestnik')->trigger('shop.order.new', $data, 'component');
| Параметр | Описание |
|---|---|
$eventKey | Ключ события, обязательный. Должен совпадать с «Ключом события» активного правила. |
$data | Массив данных для шаблона; ключ email — адрес для стратегии «Пользователь события», attachments — вложения. |
$source | manual (по умолчанию) или component; плагин передаёт modx. Правила по нему не фильтруются, в журнал не пишется — передаётся в OnVestnikBeforeQueue и отладочный лог. |
Возвращает число писем, поставленных в очередь. Отправка — по cron.