mulekula Posted January 30, 2014 Report Share Posted January 30, 2014 Всем привет, подскажите пожалуйста каким образом можно обновлять цену доставки, например в зависимости от условия {if $weigth > 10}{$delivery->price+100}{/if} или возможно наведите на правильные мысли, чтобы цена доставки не принималась чисто из БД а генерировалась при оформлении заказа Quote Link to post Share on other sites
rostislav505 Posted January 30, 2014 Report Share Posted January 30, 2014 Напишите алгоритм генерации цены доставки Quote Link to post Share on other sites
mulekula Posted January 30, 2014 Author Report Share Posted January 30, 2014 Алгоритм такой, я извлекаю свойства товара (Вес) и делаю if Если Вес =< 20 то цена n Если Вес >= 20 то цена n итд... Quote Link to post Share on other sites
atzako Posted January 30, 2014 Report Share Posted January 30, 2014 Закрепить за каждым вариантом доставки функционал определения цены от веса. К примеру, API некоторых позволяет запрашивать эту цену у них. Через ajax пересчитывать и апдейтить инфу в корзине при смене способа доставки. Ну и в CartView.php тоже надо не забыть изменить рассчет окончательной цены. Quote Link to post Share on other sites
mulekula Posted January 30, 2014 Author Report Share Posted January 30, 2014 можете подсказать каким способом я могу задавать новую сумму доставки? Пробовал передавать сразу в value, но при переходе на страницу оплаты страница не показывает суммы вообще Quote Link to post Share on other sites
atzako Posted January 30, 2014 Report Share Posted January 30, 2014 В целом это нетривиальный функционал. Можете сделать для каждого способа доставки таблицу. По ней вычисляйте стоимость.Способы доставки и их стоимость передается в шаблон в CartView.php Можно попробовать переработать Delivery::get_deliveries();Чтобы она выдавала правильную стоимость исходя из товаров в корзине. Quote Link to post Share on other sites
mulekula Posted January 30, 2014 Author Report Share Posted January 30, 2014 спасибо за направление, буду пробовать Quote Link to post Share on other sites
mulekula Posted January 30, 2014 Author Report Share Posted January 30, 2014 Функция для вывода всех способов доставки public function get_deliveries($filter = array()) { // По умолчанию $enabled_filter = ''; if(!empty($filter['enabled'])) $enabled_filter = $this->db->placehold('AND enabled=?', intval($filter['enabled'])); $query = "SELECT id, name, description, free_from, price, enabled, position, separate_payment, delivery_calculate FROM __delivery WHERE 1 $enabled_filter ORDER BY position"; $this->db->query($query); return $this->db->results(); } т.е. можно например создать в таблице delivery поля масса и цена вводить значения, затем просто вытаскивать их и делать уже манипуляции с данными? помогите пожалуйста разобраться с view // Стоимость доставки $delivery = $this->delivery->get_delivery($order->delivery_id); if(!empty($delivery) && $delivery->free_from > $order->total_price) { $this->orders->update_order($order->id, array('delivery_price'=>$delivery->price, 'separate_delivery'=>$delivery->separate_payment)); } Quote Link to post Share on other sites
mulekula Posted February 1, 2014 Author Report Share Posted February 1, 2014 $delivery = $this->delivery->get_delivery($order->delivery_id); if(!empty($delivery) && $delivery->free_from > $order->total_price) { $this->orders->update_order($order->id, array('delivery_price'=>$delivery->price, 'separate_delivery'=>$delivery->separate_payment)); } подставляю значение, но общая сумма не считается , в чем может быть проблема? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.