UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: toshka от 07 Июля 2013, 10:02:18

Название: Стоимость курьерской доставки
Отправлено: toshka от 07 Июля 2013, 10:02:18
Добрый день! Написал корзину с оформлением заказа в один шаг + скрипт на js который при выборе курьерской доставки рассчитывает стоимость доставки, на выходе скрипта число, но не знаю как записать его в поле "стоимость доставки" при оформлении заказа. Если есть у кого - нибудь информация по данной теме помогите пожалуйста.
Название: Re:Стоимость курьерской доставки
Отправлено: admin от 07 Июля 2013, 13:19:59
если я правильно понимаю, то весь ввод информации происходит на одной страницы с использование js логики. При нажатии кнопки "отправить", форма отправляет все данные заполненные на этой странице, в том числе и итоговую стоимость доставки. Скрипт на который ссылается форма должен сохранить стоимость и тип доставки. В коде это можно сделать таким образом

$order = $this->getBasketOrder(false); // макрос должен лежать в модуле emarket иначе метод getBasketOrder будет не доступен
$deliveryId = getRequest('delivery-id'); // предполагаем что в вашей форме было поле с name "delivery-id", в котором была записан id способа доставки
$deliveryPrice = (float) getRequest('delivery-price'); // предполагаем что в вашей форме было поле с name "delivery-price", в котором была записана стоимость
$order->setValue('delivery_id', $deliveryId);
$order->setValue('delivery_price', $deliveryPrice);
$order->refresh();
Название: Re:Стоимость курьерской доставки
Отправлено: toshka от 07 Июля 2013, 18:27:16
Ввод информации происходит на одной странице с использование кастомного макроса,  это то что вы и описали только на php. А сам расчет стоимости доставки в свою очередь на js. Раньше макрос автоматически подставлял цену доставки из админки, заменил этот вызов на ваш "$deliveryPrice = (float) getRequest('delivery-price');" и все заработало. Большое спасибо за помощь!