¿Cómo obtener el símbolo de moneda por código de moneda?


22

Puedo obtener el código de moneda del objeto de pedido. ¿Cómo puedo derivar el símbolo de moneda usándolo? Cualquier sugerencia será apreciada.


1
Si encuentra útil una de estas respuestas, márquelas como respuesta correcta.
Fabian Blechschmidt

Respuestas:


61

Prueba este:

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

Por favor marque esta respuesta como correcta.
Gilles Lesire

27

Almacenar código de moneda, por ejemplo. Dólar estadounidense

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

símbolo de moneda de la tienda ej. PS

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

nombre de la moneda de la tienda, por ejemplo. Dólar estadounidense

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

Esto no funciona en 1.7
Gilles Lesire

6

Lo siguiente funcionó.

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

3

Tratar:

$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 () devolverá el objeto local actual, ¿no? Lo que quiero es obtener el símbolo de moneda del código de moneda dado independientemente de la configuración regional.
Sukeshini

Por favor verifique una vez el código. Deberia de funcionar.
MagePsycho

No funcionará si ha establecido un símbolo diferente en su localidad. Todavía devolvería su símbolo de moneda predeterminado.
Shathish

@MagePsycho: marcado. No está trabajando.
Sukeshini

¿Puedes pegar tu código? Acabo de probar y estaba funcionando bien para mí.
MagePsycho

2

Usando cualquier código de moneda dado puede derivar el símbolo usando Zend_Locale:

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

Según su solución, tenemos que pasar la configuración regional para crear el objeto Zend_Currency ¿verdad? Lo que esperaba era ¿hay alguna forma de obtener el símbolo de moneda independientemente de la configuración regional? Quiero decir, con solo pasar el código de moneda, ¿podemos obtener el símbolo de moneda en magento CE 1.7?
Sukeshini

Puede pasar cualquier configuración regional a zend currency
philwinkle


Mi problema de fondo es así. Tengo varias tiendas con varios sitios web. Estoy creando un archivo php que se ejecuta fuera del proyecto y obtengo toda la colección de pedidos independientemente de la tienda o cualquier otro factor. En ese caso, si obtengo todos los detalles de un pedido, puedo obtener el monto total del pedido y el código de moneda como valores separados. Quiero obtener el símbolo de moneda y mostrar el total del pedido como un monto completo en mi archivo php. Por lo tanto, no puedo poner la configuración regional que quiera. Gracias por adelantado.
Sukeshini

2

Simplemente pase el valor en variable ... devolverá el precio actual del formato de moneda

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.