Вопрос

Чтобы дать небольшой контекст, мы используем простые настраиваемые продукты модуль OrganicInternet, чтобы избежать настраиваемых продуктов в нашей корзине. Все простые продукты на сайте помечены как невидимые индивидуально. Проблема, которая у нас есть, заключается в том, что в тележке остается простой продукт, даже если он связан с настраиваемым или удаленным.

QUOTE_ITEM для простого продукта содержит идентификатор добавленного продукта, который был добавлен, поэтому очевидное решение, по -видимому, заключается в том, чтобы зацепить событие, используя CPID, чтобы проверить, включен ли настраиваемый продукт, и удалите элемент из цитаты.

Единственная проблема в том, что я не совсем уверен, где зацепиться. Я попытался _before_save в цитате, это, кажется, работает, но есть проблема, что, если в цитате не осталось предметов, вы в конечном итоге видите пустую корзину (в отличие от пустого сообщения корзины). Какие-либо предложения?

Это было полезно?

Решение

В конце концов, лучший вариант - это создание слушателя событий для sales_quote_item_collection_products_after_load Чтобы удалить продукты из коллекции. Это, в свою очередь, приводит к помещению элемента цитаты для удаления, что, в свою очередь, обновляет базу данных при сохранении цитаты. Насколько я могу судить, это то, как элемент цитаты удаляется при отключении продукта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top