wss Posted September 27, 2021 Share Posted September 27, 2021 Ciao a tutti, utilizzo PS 1.7.5.0 , lo store è multivaluta; seguendo in parte un vecchio topic dal forum inglese, ho modificato il mio tools.php per far si che gli ordini vengano sempre effettuati in una valuta specifica Codice modificato su tools.php public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null) { if (!is_numeric($price)) { return $price; } if (!$context) { $context = Context::getContext(); } if ($currency === null) { if ($context->controller->php_self == 'order') { $currency = Currency::getCurrencyInstance(2); } else { $currency = $context->currency;} /* your "else in the tutorial" was $currency = Currency::getCurrencyInstance((int)2) ; this code shows always the currency (int)2 when we are not in orders, also when the currency chosen by the visitor is (int)1 or another currency, so I changed the code */ } elseif (is_int($currency)) { if ($context->controller->php_self == 'order') { if ( $currency == '3' ) { $price = Tools::convertPrice($price, 3, 2, false); } else $currency = Currency::getCurrencyInstance(2); } else { $currency = Currency::getCurrencyInstance((int) $currency); /* your "else in the tutorial" was $currency = Currency::getCurrencyInstance((int)2) ; but the code shows always the currency (int)2 when we are not in orders, also when the currency chosen by the visitor is (int)1 or another currency, so I changed the code */ } } $cldr = self::getCldr($context); return $cldr->getPrice($price, is_array($currency) ? $currency['iso_code'] : $currency->iso_code); } La funzione cambia il simbolo della valuta, nella fase di ordine, alla valuta che vorrei, ma non cambia di una virgola il prezzo. Il problema si pone perchè ho un modulo di pagamento che non accetta valute diverse dall'euro, o meglio, se la merce è pari a 100 dollari o 100 pound, quando viene inviato l'ordine ed il cliente procede con il pagamento, il modulo di pagamento fa pagare al cliente e processa sempre 100 euro (come se non ricevesse info sulla valuta....succede solo con questo modulo, non è un problema del negozio, e purtroppo devo utilizzarlo / non ho scelta in merito al modulo). Potrei cambiare il codice del modulo di pagamento, ma credo sarebbe più "complicato" e non sono neanche certo che sia possibile, quindi sto cercando di cambiare la fase finale dell'ordine affinchè sia sempre in euro. Grazie a chi vorrà darmi una mano! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now