1 Отредактировано AleksC1976 (16.02.2018 14:08:42)

Тема: Выбрать цену товара () и отправить ее в корзину

Не могу понять принципа работа с ценами. Существует задача вывести 2 цены в шаблоне. С этим проблем нет.
А вот тут немного не пойму. Необходимо Выбрать одну из цен в Radio в карточке товара и отправить в корзину выбранную цену. Если выбрана цена по умолчанию - ну тут все ясно - стандартный алгоритм -  У вас попадает в корзину цена товара по умолчанию.  Возможно ли отправить в корзину другую цену? Думаю надо прицепляться к событию cart.addproduct.before. Пока это все5 что придумалось .... Спасибо

Да и можно ли как то проверить какая цена выбрана...

Повысить оценку Понизить оценку

2

Re: Выбрать цену товара () и отправить ее в корзину

Ситуация такова, что клиент не может никак влиять на цену, иначе бы злоумышленники покупали в интернет-магазинах по собственным ценам.

Раз у вас есть 2 публичные цены, из которых пользователь должен выбирать, то вам нужно позаботиться:

1. О том, чтобы ID Типа цен передавался в запрос добавления товара в корзину в каком-то параметре, например ?cost_id=123,

2. Затем обрабатывать событие cart.addproduct.after, обрабатывал вашу переменную с ID цены, вычислял нужную цену, а затем записать кастомную цену к товарной позиции в корзине.

$cart->update(array(
                                $uniq => array(
                                    'price' => $new_price
                                )
                            ), null, false);

где 
$cart - объект текущей корзины \Shop\Model\Cart::currentCart()
$uniq - идентификатор позиции в корзине
$new_price - новая цена

Повысить оценку Понизить оценку