Jump to content

Обновление стоимости доставки


Recommended Posts

Всем привет, подскажите пожалуйста каким образом можно обновлять цену доставки, например в зависимости от условия

 

{if $weigth > 10}

{$delivery->price+100}

{/if}

 

или возможно наведите на правильные мысли, чтобы цена доставки не принималась чисто из БД а генерировалась при оформлении заказа

Link to post
Share on other sites

Закрепить за каждым вариантом доставки функционал определения цены от веса. К примеру, API некоторых позволяет запрашивать эту цену у них. Через ajax пересчитывать и апдейтить инфу в корзине при смене способа доставки.

 

Ну и в CartView.php тоже надо не забыть изменить рассчет окончательной цены.

Link to post
Share on other sites

можете подсказать каким способом я могу задавать новую сумму доставки? Пробовал передавать сразу в value, но при переходе на страницу оплаты страница не показывает суммы вообще

Link to post
Share on other sites

В целом это нетривиальный функционал.

 

Можете сделать для каждого способа доставки таблицу. По ней вычисляйте стоимость.

Способы доставки и их стоимость передается в шаблон в CartView.php

 

Можно попробовать переработать

 

Delivery::get_deliveries();

Чтобы она выдавала правильную стоимость исходя из товаров в корзине.

Link to post
Share on other sites
Функция для вывода всех способов доставки


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));
            }

Link to post
Share on other sites



$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));
            }

подставляю значение, но общая сумма не считается , в чем может быть проблема?

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...