[B]Всем доброго времени суток![/B]
Столкнулся со следующей проблемой:
[B]1)[/B] Есть готовый обработчик события, который успешно работает через init.php
[B]2)[/B] Необходимо отказаться от ручных правок в коде, что бы просто скопировав файлы на сервер - ничего не затерлось, т.к. init.php уже мог быть модифицирован и нажатием одной кнопки Установить - у нас заработал ранее написанный и рабочий обработчик.
Первое, что пришло в голову - сделать простой каркас модуля и в install/index.php зарегистрировать его через registerEventHandler.
В теории выглядит все просто и например с событием OnBeforeEndBufferContent - все работает.
Но как только я меняю его на необходимый OnSaleOrderSaved - в ответ тишина.
Повторюсь, что тот же OnSaleOrderSaved через addEventHandler в init.php - работает.
[I]Костыли:[/I]
/lib/sendorder.php _ class SendOrder { function onSaleOrderSavedHandler(); }
Если перед классом добавить addEventHandler в обход модульного registerEventHandler - все работает.
Буду рад услышать любые мысли / идеи по этому поводу. Может мне вообще модуль не нужен был.
И как-то через компоненты сделать можно, но я пока такой возможности не увидел.
P.S.: Почему не оставить костыль, если решение рабочее:
1. Во первых - это костыль.
2. Услышать мнение более опытных разработчиков касательного данного кейса.
3. В другой копии битрикса на боевом сайте - уже не работает данное решение, не понимаю почему.
[I]С уважением, Марк.[/I]
Столкнулся со следующей проблемой:
[B]1)[/B] Есть готовый обработчик события, который успешно работает через init.php
[B]2)[/B] Необходимо отказаться от ручных правок в коде, что бы просто скопировав файлы на сервер - ничего не затерлось, т.к. init.php уже мог быть модифицирован и нажатием одной кнопки Установить - у нас заработал ранее написанный и рабочий обработчик.
Первое, что пришло в голову - сделать простой каркас модуля и в install/index.php зарегистрировать его через registerEventHandler.
В теории выглядит все просто и например с событием OnBeforeEndBufferContent - все работает.
Но как только я меняю его на необходимый OnSaleOrderSaved - в ответ тишина.
Повторюсь, что тот же OnSaleOrderSaved через addEventHandler в init.php - работает.
[I]Костыли:[/I]
/lib/sendorder.php _ class SendOrder { function onSaleOrderSavedHandler(); }
Если перед классом добавить addEventHandler в обход модульного registerEventHandler - все работает.
Буду рад услышать любые мысли / идеи по этому поводу. Может мне вообще модуль не нужен был.
И как-то через компоненты сделать можно, но я пока такой возможности не увидел.
P.S.: Почему не оставить костыль, если решение рабочее:
1. Во первых - это костыль.
2. Услышать мнение более опытных разработчиков касательного данного кейса.
3. В другой копии битрикса на боевом сайте - уже не работает данное решение, не понимаю почему.
[I]С уважением, Марк.[/I]