У меня странная проблема, когда я делаю $ 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 €, вместо этого.
Пожалуйста, Где ошибка? Я схожу с ума от этого. Большое спасибо за вашу помощь.