Перейти к содержанию
Официальный форум поддержки Simpla

Передача Из Cart В Order


Перейти к решению Решено Kosjak76,

Рекомендуемые сообщения

Доброго дня!

Подскажите, поймал такую беду...

По необходимости делаю манипуляции (не глобальные) в Cart.php.

Цель просчёт отдельной скидки под отдельный товар...

Глобально ничего не меняю вроде бы как...

На сайте при формировании заказ итоговая цена просчитывается правильно (с учётом скидки на товар), чтобы с корзиной не делал...

НО при нажатии кнопки "оформить заказ" и переходе естественно в order итоговая цена оказывается без учёта скидки, которая просчитывается в корзине... Переменная $cart->total_price в корзине правильная, и она же должна в order передаваться, разве не так ?? по факту нет...

И в базу соответственно кривую цену пишет... без скидки...

Подскажите что я упускаю и где рыть?  

Спасибо!

Изменено пользователем cop2000
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Нет, не так.

Рыть надо api/Orders.php функцию update_total_price

В ней считается цена исходя из цены покупки

Или сделать по-другому и в view/CartView.php 

изменить вот это место

	    	// Добавляем товары к заказу
	    	foreach($this->request->post('amounts') as $variant_id=>$amount)
	    	{
	    		$this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));
	    	}

И сделать передачу цены в orders

Ссылка на сообщение
Поделиться на другие сайты

Нет, не так.

Рыть надо api/Orders.php функцию update_total_price

В ней считается цена исходя из цены покупки

Или сделать по-другому и в view/CartView.php 

изменить вот это место

	    	// Добавляем товары к заказу
	    	foreach($this->request->post('amounts') as $variant_id=>$amount)
	    	{
	    		$this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));
	    	}

И сделать передачу цены в orders

спасибо!

по идее вот так:

// Добавляем товары к заказу
                foreach($this->request->post('amounts') as $variant_id=>$amount) {
                $this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));
                }
$this->orders->update_order($order->id, array('total_price'=>$cart->total_price)); 
                
$order = $this->orders->get_order($order_id);
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...