@po4emu4ka2020

Как прямо в корзине поменять у всех товаров тип цены?

Пытаюсь в корзине реализовать следующий алгоритм:
Если пользователь переключает радиобаттон в корзине, то вся корзина должна ему показаться с одним типом цены, если переключает обратно - с другим.

Подскажите, пожалуйста, как это лучше всего реализовать?

Есть идея ловить GET-параметр с этого баттона и перед загрузкой корзины перезаполнять ее товарами с новым типом цены. Но я не уверен, что это рационально, так как пользователь может щелкать этим радио, и каждый раз придется перезаполнять эту корзину.

Заранее спасибо всем, кто откликнется.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 2
1BX_host
@1BX_host
Хостинг для 1С-Битрикс
Логичный вопрос - а зачем перезаполнять товары, когда необходимо только поменять тип цены у того же списка товаров? =) меньше нагрузки на БД будет
Ответ написан
@AlexanderKs3
1. Стандартная реализация БУС выводит наиболее выгодную цену в зависимости от прав пользователя, задачи с переключением цен как правило не возникает;
2. Если требуется показывать клиенту только одну, назначенную ему цену, достаточно указать в настройках комплексного компонента bitrix:catalog параметр PRICE_CODE - наименование типа цены;
3. Если очень хочется переключатель в корзине, придется получить объект корзины пользователя для текущего сайта, после чего обойти товары (BasketItems), сделав им setFields для параметров CURRENCY и (возможно) PRICE, после чего сохранить корзину и получить ее стоимость. Возможно, вам поможет этот блог.

На самом деле, идея со сменой типа цены в корзине - бредовая. А вот п.2 делал, чтобы посетитель видел только свою, партнерскую цену.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы