Я работаю в течение 2 дней для применения нескольких купонов на корзину, я знаю, что есть модули, которые доступны для этого. Но я не хочу использовать это. Мне нужен собственный код, чтобы я мог применить более одного купонного кода в одном заказе.
Пожалуйста помоги. Я очень устал после работы над тем же.
ce-1.9.0.1
coupon-codes
Zaheerabbas
источник
источник
Ответы:
В своем пользовательском модуле добавьте следующее
config.xml
:Первый - это переписать
Mage_SalesRule_Model_Quote_Discount
вNamespace_Module_Rewrite_SalesRule_Model_Quote_Discount
Второй - перегруженный контроллер
Mage_Checkout_CartController
Затем добавьте следующий файл
app/code/community/Namespace/Module/controllers/Checkout/CartController.php
и вставьте следующий код:Вы заметите, что я добавил раздел для объединения кодов купонов, разделенных символом ",". Это, очевидно, может быть более точным, и вы можете добавить дополнительную проверку и т. Д., Но этот код должен работать сразу.
И, наконец, нам нужно добавить кусок, который делает всю магию. Добавить файл
app/code/community/Namespace/Module/Rewrite/SalesRule/Model/Quote/Discount.php
и добавьте контент:
По сути, это нарушает повышение купона, циклически просматривает каждый код купона, вычисляет и обновляет итоговые цены.
Чтобы проверить, я установил 2 правила корзины покупок:
Нет купона:
Добавлен купонный тест 1:
Добавлен купонный тест 2
Я проверил со скидкой фиксированной суммы, и это работает как ожидалось.
И, как я уже сказал, вам может понадобиться добавить дополнительную проверку, возможно, для дубликатов, но это то, где вы должны начать. Для внешнего интерфейса вы можете добавить некоторую логику, разделить коды по своему усмотрению или оставить как есть.
источник