Domanda

Sto cercando di valuta convertito in Magento 1.5 utilizzando il seguente codice in un file separato per controllare la conversione di valuta. Ho due negozi con relative impostazioni di valuta in Admin.

set_time_limit(0);
error_reporting(1);
ini_set('display_errors', 1);
define('D_S', DIRECTORY_SEPARATOR);
require_once 'app/Mage.php';
umask(0);
Mage::app();

$_fromCurr = 'USD';
if( Mage::app()->getStore()->getCurrentCurrencyCode() == 'CAD') {
    $_locale = 'en_CA';
    $_toCurr = 'CAD';
} else {
    $_locale = 'en_US';
    $_toCurr = 'USD';
}
$currency = new Zend_Currency($_locale); 
$amount = 150;
echo $_price = $currency->toCurrency(round( Mage::helper('directory')->currencyConvert( $amount, $_fromCurr, $_toCurr ), 2 ));

sto ottenendo seguente errore,

Fatal error: chiamata a un getCode funzione membro () su un non-oggetto in /var/www/vhosts/www.test.com/httpdocs/app/code/core/Mage/Directory/Model/Currency.php on line 171

ho provato seguendo questo http://www.magentocommerce.com / schede / v / viewthread / 118631 / P15 / # t381027 , ma non funziona. Cosa c'è di sbagliato qui?

È stato utile?

Soluzione

L'errore fatale di PHP è derivante da un errore nel metodo convertito dove assume che $ toCurrency è un oggetto. L'errore, tuttavia, è causato quando si sta cercando di un'eccezione:

throw new Exception(Mage::helper('directory')->__('Undefined rate from "%s-%s".', $this->getCode(), $toCurrency->getCode()));

Il significato di questo errore è che il metodo convert non riesce a trovare un tasso. Ho provato il codice, e funziona bene, finché esistono le tariffe per le valute si sta convertendo a / da.

Che cosa hai bisogno di fare è navigare su Sistema -> Configurazione -.> Imposta valuta e assicurarsi che le valute si sta utilizzando sono selezionati nelle valute ammessi impostazione

Dopo aver selezionato le valute ammessi, avrete bisogno di fissare i tassi. È possibile farlo andando su Sistema -> Gestisci Valuta Prezzi. Da lì è possibile inserire i tuoi propri rapporti di conversione nella rete o importare facendo clic sul pulsante Importa, quindi fare clic su Salva Valuta Prezzi.

Una volta che hai i tassi di cambio per la messa a punto di conversione, dovrebbe funzionare senza intoppi.

Altri suggerimenti

Try below code it will worked

$_Baseprice = $_product->getPrice(); 
    $_Currentcurrencycode =Mage::app()->getStore()->getCurrentCurrencyCode();
    //This will return USD, EUR e.t.c
    //echo $_Currentcurrencycode;
    if ($_Currentcurrencycode == 'USD') {$_convertedCurrency = Mage::helper('directory')->currencyConvert($cprice, 'SAR', 'USD');}
    else {$_convertedCurrency = Mage::helper('directory')->currencyConvert($cprice, 'SAR', 'SAR');}
    //_convertedCurrency will return price without symbol
    //echo $_convertedCurrency ;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top