Тема: Как правильно прицепиться к эвентам корзины
Коллеги, добрый день!
При разработке модуля для ImageCMS есть следующая задача:
Выполнять код при любом обновлении корзины (добавление, удаление, изменение количества, очистка корзины).
Выполнять код при оформлении заказа (причем желательно как из фронта покупателем, так и из админки менеджером).
Делаю так: в autoload() модуля прицепляюсь к событиям:
CMSFactory\Events::create()->onAddItemToCart()->setListener('UpdateCartEvent');
CMSFactory\Events::create()->onRemoveFromCart()->setListener('UpdateCartEvent');
// ...
Возникли следующие вопросы:
Событие onAddItemToCart почему-то вызывается дважды, т.к. при добавлении товара в корзину код выполняется два раза с совершенно одинаковым результатом.
Событие onRemoveFromCart не срабатывает вообще (триггер не вызывается).
Чем отличается эвент onAddToCart от onAddItemToCart?
Какой эвент вызывается при изменении количества товара в корзине?
К каком эвенту правильно привязаться для отслеживания события оформления заказа в контексте задачи?
Разрабатываю на интернет-магазине редакции 4.8.1 Premium.
Перелопатил документацию к ImageCMS и CodeIgniter, но ясности не наступило. Помогите пожалуйста! Если все получится, то у сообщества будет бесплатный модуль для интеграции с одной популярной маркетинговой системой