Купите X товаров и получите Y других товаров бесплатно из той же категории
Как реализовать и применить Купить X И Получить Y другой товар той же категории бесплатно в правилах цены корзины покупок в magento.
3 answers
В пакете Magento по умолчанию нет правила "Купить X получить Y" для разных X и Y. Правило, которое у нас есть, может давать скидку только на некоторое количество одних и тех же товаров. Например, если мы получим 10 футболок, мы сможем получить 11-ю бесплатно. Но НЕТ НИКАКОГО СПОСОБА получить пояс вместо футболки.
Можно либо создать пользовательский модуль, либо выбрать готовый к использованию из magento connect.
Если вы хотите создать свой собственный, вот несколько советов, основанных на "Специальных акциях". плагин:
- добавьте новое поле, чтобы можно было задать условие "X"
- прослушайте событие
salesrule_validator_process
и проверьте, является ли текущий элемент X - если это X, то выполните цикл $address->getAllItems() и найдите Y, установите скидку
Я смог смоделировать желаемое поведение, сделав это: (Для покупки 3 продукта X, получите 1 продукт Y бесплатно)
Условия: - Общее количество артикулов X больше или равно 3
Действия: - Применить: Скидка (процент от цены товара) - Процент = 100 - Максимальная Скидка На Кол-Во применяется К: 1 - Применить правило к условию has: АРТИКУЛ= Y
Это сработало бы для покупки 2 X, получите Y бесплатно
К сожалению, это не работает для 6 предметов, получите 2 бесплатно. Это может быть сделано по дополнительному правилу, хотя и с более высоким prio, которое проверяет 6/2
Изменить: Это не работает, если у вас есть варианты артикула Y. Если клиент покупает 3 варианта X и 2 варианта Y, он получает оба варианта Y бесплатно.
Чтобы устранить последнюю проблему, я изменил правило, указав фиксированную сумму (цену товара Y) во всей корзине покупок. Это хорошо сработало для нас.
Разве Magento по умолчанию не поддерживает покупку x и скидку y разного размера?