Как сделать скидку или применить купон прямо в шаблоне корзины?
Сколько не искал примеров, советов, решений в инете так и не понял как такое осуществить.
В шаблоне корзины формируется определенная сумма, её надо применить к итоговой цене корзины как скидку, еще не сформированного заказа.
Смотрел в сторону купона, но купоны не генерируются с ценой, ну или я не знаю как.
Смотрел в сторону скидки, но скидка идет на товар, а не на всю корзину.
Я в замешательстве, как можно сделать и применить простую скидку в корзине?
Думаю, сейчас залезу в базу и напрямую поменяю значения, да фиг там, там база с такими вхождениями, что черт ногу сломит.
Антон, 1. думал все к одному.
2. В шаблоне корзины, я формирую свою сумму, и мне надо эту сумму применить как скидку в корзине для всех товаров(пока еще не заказе) с помощью API. Но применить так, чтобы скидка не формировалась в админке, чтобы следов ее небыло там. Ну или если так невозможно, то как то сформировать скидку через API, применять ее и удалять сразу из админки.
volodyalesha86,
Я так понимаю, что вся загвоздка состоит в том, что у вас нет четкого алгоритма - как применять скидку и вы тупо рассчитываете какую то сумму, которая должна уменьшить общую стоимость всех товаров к покупке?
Применяя скидки, они так или иначе будут отображены в админке.
Чтобы такого не было - нужно товар продавать без скидки, снизив его цену.
Пока ничего умнее я не придумал как в шаблоне корзины выводить цены с учетом вашего хитроумного вычисления, а в заказ отправлять товары по следующему принципу:
из текущей корзины получаем id товаров и кол-во, затем удаляем товары в корзине и заново добавляем товары в корзину кодом:
Я так понимаю, что вся загвоздка состоит в том, что у вас нет четкого алгоритма - как применять скидку и вы тупо рассчитываете какую то сумму, которая должна уменьшить общую стоимость всех товаров к покупке?
В голове то алгоритм есть, надо взять общую сумму и вычесть из нее сумму скидки, и вуаля, так делается во всех нормальных системах, а вот как такое осуществить в битриксе, вот вопрос, здесь прям дебри.
и заново добавляем товары в корзину кодом:
'PRODUCT_ID' => $item[offer_id], // ID товара, обязательно
...
'PRICE' => $item[price], //твоя кастомная цена
Так это получается кастомная цена будет для каждого товара, а не для всей корзины? И в итоге в корзине будет вообще непонятная цена.
Необходимо от общей суммы корзины вычесть кастомную сумму.
volodyalesha86, так не бывает
Общая цена это сумма всех товаров.
В корзине будет так как вы оформите.
Вам нужно провести заказ с учетом своего вычисления и не отражать это в админке - чем тогда не решение?
надо взять общую сумму и вычесть из нее сумму скидки
...и раскидать на все, либо один товар, в зависимости что хотите увидеть в админке.
и раскидать на все, либо один товар, в зависимости что хотите увидеть в админке.
Решение, но:
Если раскидать на все или на один, то цена у каждого товара в списке корзины будет не актуальная, поэтому и хочется чтобы цена менялась только в Итого, а не в списке товаров.
Вам большущее спасибо за помощь.