Linkoln Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 (змінено) Всех приветствую, дорогие форумчане. Столкнулся со стандартной проблемой: сайт перестал отправлять email о заказе. Кинулся смотреть таблицу event - там все стандартно. Принялся дебажить событие mail/order вызываемое по триггеру catalog/model/checkout/order/addOrderHistory/before и тут вижу следующую картину: у меня вообще не срабатывают события каталога. Админские работают, а события каталога - совсем нет. 2 дня гуглил, но по этой теме инфы почти нет. Прошу подсказать, у кого какие есть идеи - почему события могут пропасть для фронта или хотя бы в какой стороне искать корень проблемы Змінено 8 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Привет. А какая у Вас сборка, версия движка? Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 ocStore 3.0.2.0 Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 08.05.2022 в 19:09, Linkoln сказал: Прошу подсказать, у кого какие есть идеи - почему события могут пропасть для фронта или хотя бы в какой стороне искать корень проблемы 1. Рекомендую вспомнить изменения в коде сайта предшествующие проблеме. 2. Можно сделать трассировку. Просмотреть зарегистрированные события для текущей сессии можно в файле engine/event.php. А просмотреть вызываемые события можно в файле engine/loader.php Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 08.05.2022 в 18:10, halfhope сказал: 1. Рекомендую вспомнить изменения в коде сайта предшествующие проблеме. 2. Можно сделать трассировку. Просмотреть зарегистрированные события для текущей сессии можно в файле engine/event.php. А просмотреть вызываемые события можно в файле engine/loader.php Если в event.php именно зарегистрированные, то у меня получается нет.. заргистрированных. Проверял я так: public function trigger($event, array $args = array()) { $log = new Log('events.log'); $log->write('Event fired: '.$event); foreach ($this->data as $value) { if (preg_match('/^' . str_replace(array('\*', '\?'), array('.*', '.'), preg_quote($value['trigger'], '/')) . '/', $event)) { $result = $value['action']->execute($this->registry, $args); $log->write('Action executed: '.$value['action']->getId()); $log->write('Action result: '.$result); if (!is_null($result) && !($result instanceof Exception)) { return $result; } } } } Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 А как в engine/loader.php посмотреть вызываемые? Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Хотя смысл, если у меня в зарегистрированных ничего не показывает. Хотя в базе они все есть. И админские работают же. Нет, тут какая-то другая причина скорее - всего Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Рекомендую сразу к 3-му пункту спуститься и от него идти к 0-му. Нужно было наоборот написать. От данных из БД до регистрации событий. Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Благодарю, буду пробовать Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 (змінено) 08.05.2022 в 19:04, halfhope сказал: Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); В общем, на втором шаге выяснил, что у меня регистрируются далеко не все события, которые возвращает model/setting/event.php->getEvents(). Я так понимаю, за получение пользовательских событий из базы и их регистрацию отвечает catalog/controller/startup/event.php. Пробовал на него навесить логи, но он будто и не вызывается вовсе, то есть - логи чистые вообще. Подскажите пожалуйста, а в каком файле он подключается? Змінено 11 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 Еще интересный момень, когда пытаюсь что-то залогировать в Loader, то логи начинает писать только после манипуляций с админкой (хоть перезагрузка страницы), когда на клиенте что-то делаешь, что-угодно, loader не срабатывает. Я так понимаю, это не нормально? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 11 травня 2022 Share Опубліковано: 11 травня 2022 Даже не знаю чем помочь. Но буквально пару дней назад у меня была схожая ситуация с модулем шорткодов+custom templates pro. Не обрабатывались события моего модуля и другие, которые я создавал вручную для отладки, все было до боли похоже. Оказалось дело было в return false, в обработчике события (catalog/view/*/before) у модуля шорткодов. Закомментировал //return false, функциональность модуля сохранилась и другие события тоже начали работать. Есть еще события "по умолчанию", которые записаны в system/library/config/catalog.php. Вряд ли это они так влияют, но встречал этот файл с правками. Можно просто события отрубить в БД, а потом по одному включать и дебажить. 2 Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 ocStore 3.0.2.0 Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 08.05.2022 в 19:09, Linkoln сказал: Прошу подсказать, у кого какие есть идеи - почему события могут пропасть для фронта или хотя бы в какой стороне искать корень проблемы 1. Рекомендую вспомнить изменения в коде сайта предшествующие проблеме. 2. Можно сделать трассировку. Просмотреть зарегистрированные события для текущей сессии можно в файле engine/event.php. А просмотреть вызываемые события можно в файле engine/loader.php Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 08.05.2022 в 18:10, halfhope сказал: 1. Рекомендую вспомнить изменения в коде сайта предшествующие проблеме. 2. Можно сделать трассировку. Просмотреть зарегистрированные события для текущей сессии можно в файле engine/event.php. А просмотреть вызываемые события можно в файле engine/loader.php Если в event.php именно зарегистрированные, то у меня получается нет.. заргистрированных. Проверял я так: public function trigger($event, array $args = array()) { $log = new Log('events.log'); $log->write('Event fired: '.$event); foreach ($this->data as $value) { if (preg_match('/^' . str_replace(array('\*', '\?'), array('.*', '.'), preg_quote($value['trigger'], '/')) . '/', $event)) { $result = $value['action']->execute($this->registry, $args); $log->write('Action executed: '.$value['action']->getId()); $log->write('Action result: '.$result); if (!is_null($result) && !($result instanceof Exception)) { return $result; } } } } Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 А как в engine/loader.php посмотреть вызываемые? Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Хотя смысл, если у меня в зарегистрированных ничего не показывает. Хотя в базе они все есть. И админские работают же. Нет, тут какая-то другая причина скорее - всего Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Рекомендую сразу к 3-му пункту спуститься и от него идти к 0-му. Нужно было наоборот написать. От данных из БД до регистрации событий. Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Благодарю, буду пробовать Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 (змінено) 08.05.2022 в 19:04, halfhope сказал: Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); В общем, на втором шаге выяснил, что у меня регистрируются далеко не все события, которые возвращает model/setting/event.php->getEvents(). Я так понимаю, за получение пользовательских событий из базы и их регистрацию отвечает catalog/controller/startup/event.php. Пробовал на него навесить логи, но он будто и не вызывается вовсе, то есть - логи чистые вообще. Подскажите пожалуйста, а в каком файле он подключается? Змінено 11 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 Еще интересный момень, когда пытаюсь что-то залогировать в Loader, то логи начинает писать только после манипуляций с админкой (хоть перезагрузка страницы), когда на клиенте что-то делаешь, что-угодно, loader не срабатывает. Я так понимаю, это не нормально? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 11 травня 2022 Share Опубліковано: 11 травня 2022 Даже не знаю чем помочь. Но буквально пару дней назад у меня была схожая ситуация с модулем шорткодов+custom templates pro. Не обрабатывались события моего модуля и другие, которые я создавал вручную для отладки, все было до боли похоже. Оказалось дело было в return false, в обработчике события (catalog/view/*/before) у модуля шорткодов. Закомментировал //return false, функциональность модуля сохранилась и другие события тоже начали работать. Есть еще события "по умолчанию", которые записаны в system/library/config/catalog.php. Вряд ли это они так влияют, но встречал этот файл с правками. Можно просто события отрубить в БД, а потом по одному включать и дебажить. 2 Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 08.05.2022 в 18:10, halfhope сказал: 1. Рекомендую вспомнить изменения в коде сайта предшествующие проблеме. 2. Можно сделать трассировку. Просмотреть зарегистрированные события для текущей сессии можно в файле engine/event.php. А просмотреть вызываемые события можно в файле engine/loader.php Если в event.php именно зарегистрированные, то у меня получается нет.. заргистрированных. Проверял я так: public function trigger($event, array $args = array()) { $log = new Log('events.log'); $log->write('Event fired: '.$event); foreach ($this->data as $value) { if (preg_match('/^' . str_replace(array('\*', '\?'), array('.*', '.'), preg_quote($value['trigger'], '/')) . '/', $event)) { $result = $value['action']->execute($this->registry, $args); $log->write('Action executed: '.$value['action']->getId()); $log->write('Action result: '.$result); if (!is_null($result) && !($result instanceof Exception)) { return $result; } } } } Надіслати Поділитися на інших сайтах More sharing options...
Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 А как в engine/loader.php посмотреть вызываемые? Надіслати Поділитися на інших сайтах More sharing options...
Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Хотя смысл, если у меня в зарегистрированных ничего не показывает. Хотя в базе они все есть. И админские работают же. Нет, тут какая-то другая причина скорее - всего Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Рекомендую сразу к 3-му пункту спуститься и от него идти к 0-му. Нужно было наоборот написать. От данных из БД до регистрации событий. Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Благодарю, буду пробовать Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 (змінено) 08.05.2022 в 19:04, halfhope сказал: Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); В общем, на втором шаге выяснил, что у меня регистрируются далеко не все события, которые возвращает model/setting/event.php->getEvents(). Я так понимаю, за получение пользовательских событий из базы и их регистрацию отвечает catalog/controller/startup/event.php. Пробовал на него навесить логи, но он будто и не вызывается вовсе, то есть - логи чистые вообще. Подскажите пожалуйста, а в каком файле он подключается? Змінено 11 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 Еще интересный момень, когда пытаюсь что-то залогировать в Loader, то логи начинает писать только после манипуляций с админкой (хоть перезагрузка страницы), когда на клиенте что-то делаешь, что-угодно, loader не срабатывает. Я так понимаю, это не нормально? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 11 травня 2022 Share Опубліковано: 11 травня 2022 Даже не знаю чем помочь. Но буквально пару дней назад у меня была схожая ситуация с модулем шорткодов+custom templates pro. Не обрабатывались события моего модуля и другие, которые я создавал вручную для отладки, все было до боли похоже. Оказалось дело было в return false, в обработчике события (catalog/view/*/before) у модуля шорткодов. Закомментировал //return false, функциональность модуля сохранилась и другие события тоже начали работать. Есть еще события "по умолчанию", которые записаны в system/library/config/catalog.php. Вряд ли это они так влияют, но встречал этот файл с правками. Можно просто события отрубить в БД, а потом по одному включать и дебажить. 2 Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
halfhope Опубліковано: 8 травня 2022 Share Опубліковано: 8 травня 2022 Рекомендую сразу к 3-му пункту спуститься и от него идти к 0-му. Нужно было наоборот написать. От данных из БД до регистрации событий. Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Благодарю, буду пробовать Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 (змінено) 08.05.2022 в 19:04, halfhope сказал: Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); В общем, на втором шаге выяснил, что у меня регистрируются далеко не все события, которые возвращает model/setting/event.php->getEvents(). Я так понимаю, за получение пользовательских событий из базы и их регистрацию отвечает catalog/controller/startup/event.php. Пробовал на него навесить логи, но он будто и не вызывается вовсе, то есть - логи чистые вообще. Подскажите пожалуйста, а в каком файле он подключается? Змінено 11 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 Еще интересный момень, когда пытаюсь что-то залогировать в Loader, то логи начинает писать только после манипуляций с админкой (хоть перезагрузка страницы), когда на клиенте что-то делаешь, что-угодно, loader не срабатывает. Я так понимаю, это не нормально? Надіслати Поділитися на інших сайтах More sharing options... halfhope Опубліковано: 11 травня 2022 Share Опубліковано: 11 травня 2022 Даже не знаю чем помочь. Но буквально пару дней назад у меня была схожая ситуация с модулем шорткодов+custom templates pro. Не обрабатывались события моего модуля и другие, которые я создавал вручную для отладки, все было до боли похоже. Оказалось дело было в return false, в обработчике события (catalog/view/*/before) у модуля шорткодов. Закомментировал //return false, функциональность модуля сохранилась и другие события тоже начали работать. Есть еще события "по умолчанию", которые записаны в system/library/config/catalog.php. Вряд ли это они так влияют, но встречал этот файл с правками. Можно просто события отрубить в БД, а потом по одному включать и дебажить. 2 Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Linkoln Опубліковано: 8 травня 2022 Автор Share Опубліковано: 8 травня 2022 Благодарю, буду пробовать Надіслати Поділитися на інших сайтах More sharing options...
Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 (змінено) 08.05.2022 в 19:04, halfhope сказал: Если события не регистрируются, то делайте трассировку от регистрации событий до самих данных из БД. Вот путь: 0. engine/loader.php 1. engine/event.php->register 2. conroller/startup/event.php->index(); 3. model/setting/event.php->getEvents(); В общем, на втором шаге выяснил, что у меня регистрируются далеко не все события, которые возвращает model/setting/event.php->getEvents(). Я так понимаю, за получение пользовательских событий из базы и их регистрацию отвечает catalog/controller/startup/event.php. Пробовал на него навесить логи, но он будто и не вызывается вовсе, то есть - логи чистые вообще. Подскажите пожалуйста, а в каком файле он подключается? Змінено 11 травня 2022 користувачем Linkoln Надіслати Поділитися на інших сайтах More sharing options...
Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 Еще интересный момень, когда пытаюсь что-то залогировать в Loader, то логи начинает писать только после манипуляций с админкой (хоть перезагрузка страницы), когда на клиенте что-то делаешь, что-угодно, loader не срабатывает. Я так понимаю, это не нормально? Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 11 травня 2022 Share Опубліковано: 11 травня 2022 Даже не знаю чем помочь. Но буквально пару дней назад у меня была схожая ситуация с модулем шорткодов+custom templates pro. Не обрабатывались события моего модуля и другие, которые я создавал вручную для отладки, все было до боли похоже. Оказалось дело было в return false, в обработчике события (catalog/view/*/before) у модуля шорткодов. Закомментировал //return false, функциональность модуля сохранилась и другие события тоже начали работать. Есть еще события "по умолчанию", которые записаны в system/library/config/catalog.php. Вряд ли это они так влияют, но встречал этот файл с правками. Можно просто события отрубить в БД, а потом по одному включать и дебажить. 2 Надіслати Поділитися на інших сайтах More sharing options... Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Linkoln Опубліковано: 11 травня 2022 Автор Share Опубліковано: 11 травня 2022 В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. 1 Надіслати Поділитися на інших сайтах More sharing options...
buslikdrev Опубліковано: 29 травня 2022 Share Опубліковано: 29 травня 2022 11.05.2022 в 19:57, Linkoln сказал: В общем, решил проблему. Router с админки вызывался из за косяка с конфигов. А письма не отправлялись по той же, что и у вас причине. Был кастомный модуль, который навешивал событие на тот же триггер и вызывал свой же метод - заглушку, который и не давал следующему событию всплыть. Пока разбился в этом всем, узнал наконец как работают события ) Всем спасибо (в особенности halfhope), тему можно закрывать. Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options... buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Linkoln Опубліковано: 8 червня 2022 Автор Share Опубліковано: 8 червня 2022 29.05.2022 в 16:20, buslikdrev сказал: Покажите, какой код был у кастомного модуля, чтобы знать, как нельзя делать. Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Надіслати Поділитися на інших сайтах More sharing options...
buslikdrev Опубліковано: 8 червня 2022 Share Опубліковано: 8 червня 2022 В 08.06.2022 в 15:10, Linkoln сказав: Если обработчик возвращает что-либо, то дальше события по этому триггеру не вызываются Код покажите, суть вашей проблемы понятна. Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам не работают события каталога
halfhope Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 08.06.2022 в 18:27, buslikdrev сказал: Код покажите, суть вашей проблемы понятна. Модуль CustomShortcodes. Обработчик события "catalog/view/*/before", в файле "catalog/controller/event/customshortcodes.php": class ControllerEventCustomShortcodes extends Controller { public function index(&$view, &$data, &$output) { // отсюда вырезал функциональный код работы с данными return false; // вот этот return корень проблем } } 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
chukcha Опубліковано: 2 липня 2022 Share Опубліковано: 2 липня 2022 Цитата if ($result != null && !$result instanceof Exception) { Вот почему Это в тройке Цитата if ($result) { return $result; } А это в двойке А вот так в четверке, // Trigger the pre events $this->event->trigger('controller/' . $trigger . '/before', [&$route, &$args]); // Make sure its only the last event that returns an output if required. $action = new \Opencart\System\Engine\Action($route); $output = $action->execute($this->registry, $args); // Trigger the post events $this->event->trigger('controller/' . $trigger . '/after', [&$route, &$args, &$output]); 1 Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts