mspReceiptAccount как добавить свой шаблон и автоматически отправить письмо при смене статуса
Тут написано, что это за зверь.
Я напишу как создать свой шаблон.
Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку core/components/mspreceiptaccount/model/payments/. И казалось бы все, но нет.
Если посмотреть в логи, там будет написано что не найден какой-то класс и будет написано его название. Так сходу непонятно что это за класс и где он должен быть, но я разгадал эту загадку))). Копируем название класса, которое есть в логах и создаем вот такой файл
Всё, теперь можно создавать свой шаблон, например для акта выполненных работ.
И на закуску плагин для отправки этого самого акта выполненных работ на почту клиенту
Я напишу как создать свой шаблон.
Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку core/components/mspreceiptaccount/model/payments/. И казалось бы все, но нет.
Если посмотреть в логи, там будет написано что не найден какой-то класс и будет написано его название. Так сходу непонятно что это за класс и где он должен быть, но я разгадал эту загадку))). Копируем название класса, которое есть в логах и создаем вот такой файл
core/components/mspreceiptaccount/custom/item/receiptaccountact.class.php
, я туда скопировал код из соседнего класса core/components/mspreceiptaccount/custom/item/receiptaccountsh.class.php
. Всё, теперь можно создавать свой шаблон, например для акта выполненных работ.
И на закуску плагин для отправки этого самого акта выполненных работ на почту клиенту
<?php
switch ($modx->event->name){
case 'msOnChangeOrderStatus':
if($status == 2){
$modx->runProcessor(
'web/orders/send',
array('order_id' => $order->get('id'), 'to' => 'user', 'class_handler' => 'ReceiptAccountAct'),
array('processors_path' =>$modx->getOption('core_path') . 'components/mspreceiptaccount/processors/')
);
}
break;
}
Надеюсь, кому-нибудь эта информация пригодится.
Поблагодарить автора
Отправить деньги