Come ottenere il simbolo di valuta per codice valuta?


22

Posso ottenere il codice valuta dall'oggetto ordine. Come posso derivare il simbolo di valuta usandolo? Ogni suggerimento sarà apprezzato.


1
Se hai trovato utile una di queste risposte, contrassegnale come risposta corretta.
Fabian Blechschmidt,

Risposte:


61

Prova questo:

Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();

Si prega di contrassegnare questa risposta come corretta.
Gilles Lesire,

27

Codice valuta negozio ad es. Dollaro statunitense

$currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();

memorizzare il simbolo di valuta ad es. $

$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();

nome della valuta del negozio, ad es. Dollaro Americano

$currency_name = Mage::app()->getLocale()->currency( $currency_code)->getName();

Questo non funziona in 1.7
Gilles Lesire,

6

Il seguente ha funzionato.

// store currency symbol eg. $ 
$currency_symbol = Mage::app()->getLocale()->currency( $currency_code )->getSymbol();

3

Provare:

$currencyCode   = '';
$currency       = $order->getOrderCurrency(); //$order object
if (is_object($currency)) {
    $currencyCode = $currency->getCurrencyCode();
}
$currencySymbol = Mage::app()->getLocale()->currency($currencyCode)->getSymbol();
var_dump($currencySymbol);

Mage :: app () -> getLocale () restituirà l'oggetto locale corrente non è vero? Quello che voglio è ottenere il simbolo di valuta del codice valuta specificato indipendentemente dalle impostazioni internazionali.
Sukeshini,

Si prega di controllare una volta il codice. Dovrebbe funzionare.
MagoPsycho,

Non funzionerà se hai impostato un simbolo diverso nella tua lingua. Restituirà comunque il simbolo di valuta predefinito.
Shathish,

@MagePsycho: controllato. Non funziona.
Sukeshini,

Sai incollare il tuo codice? Ho appena provato e funzionava bene per me.
MagoPsycho,

2

Utilizzando un determinato codice valuta puoi derivare il simbolo usando Zend_Locale:

$curr = new Zend_Currency('en_US');
echo $curr->getSymbol();

Secondo la tua soluzione, dobbiamo passare le impostazioni locali per creare l'oggetto Zend_Currency giusto? Quello che mi aspettavo era un modo per ottenere il simbolo di valuta indipendentemente dalle impostazioni locali? Voglio dire semplicemente passando il codice valuta possiamo ottenere il simbolo di valuta in magento CE 1.7?
Sukeshini,

Puoi passare qualsiasi locale a zend currency
philwinkle il


Il mio problema di fondo è così. Ho diversi negozi con diversi siti Web. Sto creando un file php che viene eseguito al di fuori del progetto e ottengo tutta la raccolta ordini indipendentemente dal negozio o da qualsiasi altro fattore. In tal caso, se ottengo tutti i dettagli di un ordine, posso ottenere l'importo totale dell'ordine e il codice valuta come valori separati. Voglio ottenere il simbolo della valuta e mostrare il totale dell'ordine come importo completo nel mio file php. Quindi non posso mettere qualunque sia la lingua che voglio. Grazie in anticipo.
Sukeshini,

2

Basta passare il valore in variabile .. restituirà il prezzo del formato valuta corrente

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.