Вложения

Vestnik1 мин чтенияСтраница 9 из 12

Файлы прикрепляются при вызове из кода: зарезервированный ключ attachments в $data — список путей на сервере. Плейсхолдером он не становится.

$modx->services->get('Vestnik')->trigger('shop.order.new', [
    'email'       => $order->get('email'),
    'order_id'    => $order->get('id'),
    'attachments' => [
        MODX_CORE_PATH . 'components/vestnik/attachments/invoice-105.pdf',                         // путь
        ['file' => MODX_CORE_PATH . 'components/vestnik/attachments/oferta.pdf', 'name' => 'Договор-оферта.pdf'], // путь + имя в письме
    ],
], 'component');
  • В очереди хранится путь, а не содержимое: файл должен существовать в момент отправки по cron.
  • Прикрепляются только файлы из папки vestnik_attachments_path (пусто — core/components/vestnik/attachments/). Конфигурацию MODX, PHP-файлы и скрытые файлы прикрепить нельзя при любой настройке.
  • Файл вне папки или отсутствующий — ошибка отправки, письмо уходит в повторы, причина видна в очереди и журнале.
  • Вложения прикладываются ко всем письмам этого вызова trigger().
  • Через сниппет vestnik_notify вложения не передаются.