Como obter o símbolo monetário pelo código da moeda?


22

Posso obter o código da moeda no objeto de pedido. Como posso derivar um símbolo de moeda usando-o? Todas as sugestões serão apreciadas.


1
Se você achou útil uma dessas respostas, sinalize-as como resposta correta.
Fabian Blechschmidt

Respostas:


61

Tente este:

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

Marque esta resposta como correta.
Gilles Lesire #

27

Armazene o código da moeda, por exemplo. USD

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

símbolo da moeda da loja, por exemplo. $

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

nome da moeda da loja, por exemplo. Dólar americano

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

Isso não funciona no 1.7
Gilles Lesire

6

O seguinte funcionou.

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

3

Experimentar:

$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 () retornará o objeto de localidade atual, não é? O que eu quero é obter o símbolo da moeda do código da moeda fornecido, independentemente da localidade.
Sukeshini 25/09

Por favor, verifique uma vez o código. Deveria funcionar.
Mago Psico

Não funcionará se você tiver definido um símbolo diferente no seu código de idioma. Ele ainda retornaria seu símbolo de moeda padrão.
Shathish

@MagePsycho: Verificado. Não está funcionando.
Sukeshini

Você pode colar seu código? Acabei de testar e estava funcionando bem para mim.
precisa saber é o seguinte

2

Usando qualquer código de moeda, você pode derivar o símbolo usando Zend_Locale:

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

De acordo com a sua solução, precisamos passar o código do idioma para criar o objeto Zend_Currency, certo? O que eu esperava era que houvesse uma maneira de obter o símbolo da moeda, independentemente da localidade? Quero dizer, apenas passando o código da moeda, podemos obter o símbolo da moeda no magento CE 1.7?
Sukeshini 26/09

Você pode passar qualquer localidade para moeda zend
philwinkle


Meu histórico de problemas é assim. Eu tenho várias lojas com vários sites. Estou criando um arquivo php que roda fora do projeto e obtém toda a coleção de pedidos, independentemente da loja ou de qualquer outro fator. Nesse caso, se eu receber todos os detalhes de um pedido, posso obter o valor total do pedido e o código da moeda como valores separados. Quero obter o símbolo da moeda e mostrar o total do pedido como um valor completo no meu arquivo php. Portanto, não posso colocar o local que desejar. Desde já, obrigado.
Sukeshini 26/09

2

Basta passar o valor na variável .. retornará o preço atual no formato da moeda

$Formatted_Price = Converted Price with Currency 
$Variable_Price  = Your Variable value
$Formatted_Price= Mage::helper('core')->currency($Variable_Price, true, false);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.