UMIhelp
Разработка дополнительного функционала => Разработка модулей => Тема начата: kafaya от 31 Января 2017, 10:49:45
-
Добрый день, попался сайт на umi с кастомным функционалом. В принципе во всём разобрался, но есть 1 проблема которую не могу решить уже несколько дней.
Дело в том, что базовый функционал о оповещении менеджера и покупателей о смене статуса заказа не работает. На сайте касмтомная функция создания заказа, и видимо из-за этого ЮМИ пропускает какие-либо хуки.
Я нашёл функцию sendCustomerNotification в классе EmarketNotification, но не могу понять на какой хук/крон она завязана, что бы восстановить базовый функционал о оповещении при смене статуса заказа.
Не подскажете в каком направлении двигаться дальше? Спасибо.
-
Если на сайте кастом для принятия заказа - нет смысла заморачиваться событиями. Нужно просто вскрывать кастом и изучать как там все устроено.
Событие order-status-changed проверяли?
-
Я нашёл функцию sendCustomerNotification в классе EmarketNotification, но не могу понять на какой хук/крон она завязана, что бы восстановить базовый функционал о оповещении при смене статуса заказа.
Функция EmarketNotification::sendCustomerNotification вызывается в методе EmarketNotification::notifyOrderStatusChange, который вызывается из методов EmarketHandlers::onModifyProperty, EmarketHandlers::onModifyObject, EmarketHandlers::onStatusChanged и т.д.
Эти методы прослушивают события, определенные в emarket/events.php
При оформлении заказа должен вызываться метод order класса order (что-то вроде $order->order();). Этот метод делает проверку на текущий статус заказа и вызывает order::setOrderStatus, который, в свою очередь, вызывает событие order-status-changed.
Не подскажете в каком направлении двигаться дальше? Спасибо.
Я бы проверил код макроса на предмет вызова order->order или редиректа на /emarket/purchase/payment/{paymentCode}/ (посмотрите примеры в системных макросах юми).