mspReceiptAccount как добавить свой шаблон и автоматически отправить письмо при смене статуса

Тут написано, что это за зверь.

Я напишу как создать свой шаблон.

Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку 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;
}
Надеюсь, кому-нибудь эта информация пригодится.
Артур Шевченко
03 марта 2021, 16:36
modx.pro
1
1 163
+3
Поблагодарить автора Отправить деньги

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

R2m0x94 (Vasily)
21 октября 2022, 18:51
0
У меня например Error `core/model/modx/processors/web/orders/send.php does not exist; Array()`, так как нет в процессорах 'web/orders/send'

Делаю выставить счёт в msProfile получаю {«success»:true,«message»:"",«data»:{«redirect»:«https:\/\/сайт.ru\/?msorder=40»}} виснет из-за fenom, а отключить не могу, так как нужен всё на нём построено
    Артур Шевченко
    21 октября 2022, 19:44
    0
    У меня например Error `core/model/modx/processors/web/orders/send.php does not exist; Array()`
    Это ядро modx, не уверен что там должен быть какой-либо процессор для отправки каких-то заказов, вероятно ты неверно указал путь к процессору.

    виснет из-за fenom, а отключить не могу
    А каким образом у тебя ответ от сервера попадает на страницу как есть?

    Ну и в целом мне не очень понятно какое отношение твоё сообщение имеет к чути заметки?
      R2m0x94 (Vasily)
      21 октября 2022, 20:06
      0
      Нет, я сделал по другому, всё работает)) В целом просто попробовал через закуску сделать, но не вышло) А так всё гуд.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
4