Como Traduzir Links e URLs no Magento

Quem trabalha com Magento sabe o quanto é difícil traduzir o sistema para o português (Brasil), e aqui mesmo no blog eu já expliquei porque é tão difícil criar uma tradução 100% completa.

Leia o post: Tradução 100% Que Mentira!

E tem outro ponto do sistema onde a tradução não chega, que são as url’s dos links de navegação nativos do sistema, como Fechar Pedido, Nova Conta, Meus Favoritos, etc.

Vamos ver nesse post como fazer essa tradução para melhorar não só a estética das suas url’s, mas também a indexação (SEO) do site.

Etapa 1 – O CMS

No backend do sistema é possível criar algumas páginas estáticas de conteúdo, e o Magento já cria por padrão algumas destas páginas, como a Página Inicial (home), Sobre Nós (about-magento-demo-store), Central de Atendimento (customer-service), etc.

Então nessa situação é possível resolver o problema apenas editando cada página, alterando o valor do campo URL.

Alterar URL do CMS

A tradução português-brasil disponibilizada aqui no blog já realiza a tradução de alguns dos conteúdos CMS, não deixe de obter uma cópia no post: A Melhor Tradução Magento pt-BR.

Feito essa alteração, agora é preciso alterar o link que faz a chamada dessa página. Nesse exemplo, acesse o menu:

CMS > Blocos Estáticos [Links de Rodapé]

Ao acessar o bloco que contém os links de rodapé, basta editar a url do link (About Us/Sobre Nós).

Alterando a referencia do link

Para entender melhor como funciona o rodapé da página, leia o post: Editando o Rodapé.

Etapa 2 – O XML

Se você estuda criação de templates e temas para Magento, já sabe que muitos links exibidos nas páginas são criados a partir do xml. Geralmente usando blocos de actionaddLink“, “addCartLink“, ou “addLinkBlock“.

O que essas action’s fazem basicamente é criar o link no html.

Porém muitas delas buscam essa url através de helpers, como no exemplo do link (Log In/Entrar) do cliente:

Essa action vai buscar dentro da classe:

app > code > core > Mage > Customer > Helper > Data.php

O método getLoginUrl() para obter a url desse link.

Então a melhor maneira de traduzir esta url, seria re-criar a action addLink desta forma:

cliente/conta/entrarLog Intrue100

Nesse exemplo eu troquei a chamada url helper por url, e adicionei o atributo prepare=true para re-construir a url. Isso vai transformar:

customer/account/login

em

cliente/conta/entrar

Com isso você consegue traduzir as url’s dos links, mas agora falta apontar essas novas url’s para as mesmas páginas dos links anteriores.

Etapa 3 – Reescrita de URL

Eis que entra a funcionalidade já citada aqui no blog em: Url Amigável no Magento. Que pode ser usado em outras situações além da tradução de links e url’s.

Acesse seu backend o menu:

Catálogo > Gerenciar Reescrita de URL [Criar URL]

Para essa situação de tradução de url’s você vai escolher a opção “Personalizado“, o identificador assim como a descrição serão apenas para seu controle em backend.

O importante aqui são os campos “Novo Caminho“, “Caminho Base“, e “Redirecionar“.

Criando redirecionamento da URL traduzida

Novo Caminho – Informe a url traduzida, ex.: cliente/conta/entrar

Caminho Base – Informe a url original (em inglês), ex.: customer/account/login

Redirecionar – Mantenha “Não” para que sua loja continue exibindo a url traduzida, senão ele vai redirecionar a nova url para a url anterior (original).

Depois de salvar tudo e atualizar o cache, você já pode realizar os testes. Lembrando que você não deve alterar os arquivos XML do diretório base/default, faça sempre uma cópia deles para default/default ou para seu template/tema customizado.

Dúvidas!? Use o Fórum Bragento.

Sucesso!

O Autor

Mario SAM

Desenvolvedor Magento com certificação M1 Developer e M1 FrontEnd Developer. Graduado em Web Design e Programação, pós-graduado em Gestão de Projetos e TI. Não sou matemático mas estou aqui para somar.