Магазин, в котором я работаю, продает столы. Мы также продаем ручки.
Если вы купите письменный стол, я бы хотел дать вам ручку бесплатно. любые дополнительные ручки, которые вы добавляете в свою корзину, должны быть оплачены.
В настоящее время у меня есть ценовое правило для корзины покупок, в котором говорится следующее:
CONDITIONS:
If an item is found in the cart with All of these conditions true:
Category is 3 (desk category)
Apply percent of product price discount: 100%
ACTIONS:
If All of these conditions are true:
SKU is one of pen1, pen2, pen3, etc...
Я всегда хочу только один бесплатный предмет в корзине. Я перепробовал почти все комбинации условий, которые только мог придумать, но простой факт заключается в том, что в Magento нет условия XOR или условия «выполнить это действие только один раз».
Я даже пытался настроить три одинаковых ценовых правила, по одному для каждого пера, с параметром «Остановить дальнейшую обработку правил», установленным на «Да». Каждое правило по-прежнему обрабатывается по очереди.
Самое близкое, что я пришел, это добавить условие, которое говорит
If total quantity is 1 for a subselection of items in cart matching ANY of these conditions:
SKU is one of pen1, pen2, pen3
Это условие допускает одну бесплатную ручку в корзине, но полностью отменяет скидку, если в корзину добавляется вторая ручка.
Можете ли вы улучшить это правило?