Разные скидки по одному промо-коду (купону)
Не так давно к нам обратились с вопросом о необходимости предоставления скидок (с помощью правил работы с корзиной) с помощью купонов. Особенностью было то, что в зависимости от стоимости всех товаров в корзине предоставлять разные скидки, например:
- 5% - при сумме от 500 руб. до 1 000 руб.
- 10% - при сумме от 1 000 руб. до 5 000 руб.
- 15% - при сумме выше 5 000 руб.
И все это с помощью одного купона.
Настройка только стандартными средствами к успеху не привела.
Вопрос решился с помощью собственного модуля Произвольное PHP условие правил работы с корзиной.
Краткое описание принципа реализации:
В зависимости сколько скидок нужно предоставлять, нужно настроить на все из них отдельные правила. В нашем примере их три: 5%, 10%, 15%. К дополнительным условиям данных скидок добавить PHP-условие, которое становится доступным после установки нашего модуля. Рекомендуем прописать функцию, которая будет проверять применен купон или нет.
Выглядит это так (пример для 5%):
Кроме того, непосредственно нужно создать правило с 0-й величиной скидки под нужный купон.
Таким образом сравнительно легко решается подобная задача.
Более подробно и с техническими деталями реализация представлена в документации.