Quem trabalha com Magento sabe que existem muitas configurações baseadas em XML no sistema. E uma destas configurações em XML é justamente a formatação de moedas – valor monetário de cada país.
Ao instalar o Magento você precisa informar a Moeda Base da sua loja.
E automaticamente o sistema passa a exibir de forma correta o prefixo monetário do país selecionado. Mas como ele faz isso? Como ele reconhece o símbolo!?
Valores armazenados
O sistema possui vários arquivos XML’s com diversas informações de idioma, dados regionais para identificar símbolos, pontos flutuantes, formatação de datas/calendário, etc.
Esses arquivos estão localizados em:
lib > Zend > Locale > Data
Sendo o root.xml o arquivo principal. E os demais são variações, extensões que são utilizadas apenas pelo país identificado pela sigla (ex.: pt_BR.xml).
Abra o arquivo e procure pelo símbolo “R$” ou pelo Código ISO 4217 “BRL“:
R$
E é justamente aqui que é feita a configuração do símbolo de moeda brasileira. Caso você queira adicionar um espaço entre o símbolo e o valor do produto exibido no frontend da sua loja.
Outro exemplo seria a moeda japonesa, que possui o arquivo ja.xml, e dentro dele a seguinte configuração:
日本円 ¥
Mas no arquivo root.xml a mesma configuração é realizada para a mesma moeda:
JP¥
Isso significa que, quando o site estiver com o idioma japonês selecionado, o símbolo apresentado será o “¥“. E quando estiver qualquer outro idioma, o símbolo será apresentado como “JP¥“.
Ou seja, a configuração geral é feita pelo root.xml, mas os arquivos identificados pela sigla de seus países sobreescrevem as configurações genéricas.
Atenção! Após aplicar qualquer alteração nestes arquivos, será necessário acessar o backend e atualizar o cache do Magento clicando em:
Sistema > Gerenciar Cache [x Liberar Cache Armazenado]
Nova versão
A versão CE 1.7.0.2 trouxe um novo módulo no gerenciador de moedas capaz de configurar os símbolos monetários pelo backend, facilitando o trabalho para quem não entende de XML, veja em:
Sistema > Gerenciar Moeda > Símbolos
O sistema deve carregar uma lista das moedas que estão habilitadas no seu sistema.
Tudo que você precisa fazer é desmarcar a opção “Usar Modelo” – que se refere ao modelo do XML. Em seguida alterar o símbolo, adicionando por exemplo um espaço entre o símbolo e o valor monetário (no frontend).
A grande diferença entre alterar pelo backend e alterar por XML, é que o XML oferece uma liberdade maior de configuração, podendo customizar o símbolo conforme o idioma selecionado.
Corrigindo o bug
Caso você encontre uma tela de erro “404 – Página não encontrada” ao acessar a opção “Símbolos” do menu, saiba que se trata de um pequeno bug, rápido de resolver, basta abrir o arquivo:
app > code > core > Mage > CurrencySymbol > etc > config.xml
E adicionar before=”Mage_Adminhtml” à tag currencysymbol como mostrado abaixo:
Mage_CurrencySymbol_Adminhtml
Quem me apresentou rapidamente essa solução foi o brother Eric Cavalcanti do blog MagentoBR.
Este post também teve a colaboração da Alessandra do blog Referência Magento.
Um abraço para todos os leitores do blog que trabalham/vivem no japão, e aos que colaboraram para complementar as informações deste post.
Sucesso!