Задать вопрос
@tgarl

Как организовать скидку на второй товар 20%, на третий 30 и т.д.?

Пришла идея у маркетологов. Хотят на группу товаров чтобы была скидка:
на 2 самый дешевый товар из этой группы 20%
на 3 - 30%
на 4 - 40%
на 5 и остальные 50%

т.е. логика такая(касается и позиций и количества, не важно это добавили 1 позицию несколько товаров или несколько позиций)
положили 2 товара по 100рублей
1 стоит 100р, 2 - 80р

положили 3 товара по 100рублей
1 -100р, 2- 80р, 3 - 70р

положили 6 товаров по 100рублей
1 - 100р, 2- 80р, 3 -70р, 4- 60р, 5 -50р, 6 -50р

Какая формула должна быть для такой акции?
  • Вопрос задан
  • 150 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Никак. Невозможно организовать штатными средствами скидку которая будет "сравнивать" товары.

Вот что можно сделать (точнее как делаю я):
1 Вам нужен скрипт-разметчик товаров в корзине.
Повесьте на события OnBasketUpdate, OnBasketDelete и OnBasketAdd функцию которая будет получать доступ к текущий корзине, пробегать по ней и добавлять пунктам корзины свойство-маркер с каким-либо условным значением. В самом простом случае добавлять самому дешевому товара свойство с кодом CHEAP и значением 1. Товару который второй по "дешевости" с кодом CHEAP и значением 2 и так далее.

2 создайте правило корзины которое добавляет скидку основываясь но свойствах товара в корзине, типа "Если свойство товара в корзине с кодом CHEAP равно 1" и так далее.

Вот с какими проблемами вы в частности при этом столкнетесь - что делать, если в корзине 2 товара. Один стоимостью 1000 рублей, и в количестве 1 штука, а второй стоимостью 500 рублей, в количестве 2 штуки. Вам тут надо будет дать скидку на второй товар, но только на одну штуку. Для этого придется использовать деление корзины.

Вот этот код вам возможно поможет: https://pastebin.com/Kjbi9zs6 - он не очень хорош, но все же лучше чем ничего.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы