2015-12-09 3 views
0

У меня странная проблема, когда я делаю $ cart-> update(); после смены валютыPrestashop 1.4 Проблема с обновлением корзины (конвертация валюты)

e.g. в фунтах общая сумма из корзины является £ 896,32 с текущим коэффициентом конверсии 1,388889 (в EUR)

так, в евро она должна быть 896,32 * 1,388889 = 1244,89 (округленно 2)

Но если я на кассе и на модуле оплаты я:

$cookie->id_currency = 1; //1 for EUR 
$cart->id_currency = $cookie->id_currency; 
$cart->update(); 
//and then... 
$amount = number_format($cart->getOrderTotal(true, 3), 2, '.', ''); 

это идет совершенно неправильно ... окончательная переменная $ общей неправильно.

DEBUG CONSOLE: ПЕРЕД $ cart-> update();

$cart Smarty_Variable Object (3) 
->value = Cart Object (14) 
    ->id = 2899 
    ->id_address_delivery = "5" 
    ->id_address_invoice = "5" 
    ->id_currency = "3" 
    ->id_customer = "3" 
    ->id_guest = "998683" 
    ->id_lang = "1" 
    ->id_carrier = "14" 
    ->recyclable = "1" 
    ->gift = "0" 
    ->gift_message = "" 
    ->date_add = "2015-12-09 10:08:27" 
    ->secure_key = "5b5c81dbecc7b7e1d9603752071321b7" 
    ->date_upd = "2015-12-09 17:17:15" 
->nocache = false 
->scope = "Smarty root" 


$total Smarty_Variable Object (3) 
->value = "£896.32" 
->nocache = false 
->scope = "Smarty root" 

ПОСЛЕ $ cart-> обновление();

$cart Smarty_Variable Object (3) 
->value = Cart Object (14) 
    ->id = 2899 
    ->id_address_delivery = "5" 
    ->id_address_invoice = "5" 
    ->id_currency = 1 
    ->id_customer = "3" 
    ->id_guest = "998683" 
    ->id_lang = "1" 
    ->id_carrier = "14" 
    ->recyclable = "1" 
    ->gift = "0" 
    ->gift_message = "" 
    ->date_add = "2015-12-09 10:08:27" 
    ->secure_key = "5b5c81dbecc7b7e1d9603752071321b7" 
    ->date_upd = "2015-12-09 17:19:41" 
->nocache = false 
->scope = "Smarty root" 

$total Smarty_Variable Object (3) 
->value = "1 239,67 €" 
->nocache = false 
->scope = "Smarty root" 

, как вы можете видеть, что 1 239,67 € неправильно и должно быть 1 244,89 €, вместо этого.

Пожалуйста, Где ошибка? Я схожу с ума от этого. Большое спасибо за вашу помощь.

ответ

0

НАЙДЕНО этот вопрос

есть additional_shipping_cost поле на базе, которая не обновляется при изменении валюты. Я не знаю, если в последних версиях PS поведение отличается, но это наверняка надзор разработчиков.

Смежные вопросы