Уведомление о подарках и акциях в корзине

Рейтинг: 8.3684  
На голосовании
Предложил Пользователь 136059 12.10.2017 11:38:34

Уведомление о подарках и акциях в корзине

Занимаясь разработкой сайтов зачастую приходится переносить очень интересные решения на БУС. И благодаря работе отдела маркетинга последнее время все чаще клиенты просят уйти от "кучи ненужного кода" и реализовать их логику не нарушая работы стандартных механизмов БУС'а. Это была преамбула, а сейчас будет немного эпик-фейлов.

При разработке выяснилось, что документация по созданию своих правил, условий и действий в Скидках и Правилах корзины просто отсутствует. Не беда - работаем по-старинке: ковыряем ядро. А дальше встает эпик-фейл: до момента создания заказа НЕЛЬЗЯ вытащить все примененные скидки.

То есть, что это означает по-факту:
1) Вы не можете сообщить клиенту: добавь этот товар к заказу и получишь подарок или возьми 2 получи скидку
2) Вы не можете интегрировать внешний механизм скидочных карт, потому что Вы не знаете какие правила корзины будут выполнены ДО момента их выполнения
3) Вы не можете произвести отладку системы, так как цена изменилась, но сигнализировать почему она изменилась Вы не можете. Т.е. выбрал новый тип доставки -> изменилась цена. Все понятно.
Добавил еще 1 товар и цена может измениться как в бОльшую сторону (например менеджер ошибся при заведении скидки и установил что за 2 товара Х - наценка 10%, тогда при покупке 2-х товаров по 100 рублей, клиент увидит не 200, а 220 и не узнает почему и будет жаловаться, а разработчик будет отлаживать данный механизм очень долго).
4) Нельзя проводить аналитику брошенных корзин - как узнать, что наличие акции Х в январе увеличивает показатель брошенных корзин на 5% ? Нет, можно понять если в январе только эта акция, а если их 10? А если 50? То есть нужно составлять полное исследование ВСЕХ брошенных корзин чтобы это понять.

Предложение звучит следующим образом:
1) Храните (или позвольте хранить) примененные правила корзины к конкретной корзине/неоформленному заказу. Можете считать из последнего заказа, можете "выбирать первый", если неизвестно.
2) Напишите документацию по расширению сценариев. Это очень нужно!

Рейтинг: 0  
Пользователь 390462 19.03.2018 20:42:34
Да. Жопа полная с этим)
Рейтинг: 0  
Пользователь 390462 19.03.2018 20:42:37
Да. Жопа полная с этим)
Рейтинг: 0  
Пользователь 2106 04.06.2018 10:50:12
Андрей, п.2 я понимаю, тут вопросов нет. А по п.1 - вы как себе это представляете? Корзина до оформления заказа - это сущность непостоянная (клиент ее меняет, доступность товаров и цены изменяются, товары просто могут быть удалены из каталога, et cetera, et cetera). Поясните конкретней, что вы предлагаете.
Рейтинг: 0  
Пользователь 136059 26.06.2018 17:12:58
Как я представляю как хранить скидки? Ну сейчас же они как-то хранятся (происходит же расчет и в корзине и при оформлении) и цена меняется. Почему бы не возвращать из общего массива скидок те, что были применены?
Рейтинг: 0  
Пользователь 2106 26.06.2018 19:02:17
Посмотрите метод \CBitrixBasketComponent::getBasketTotal компонента корзины.