Cómo Traducir links y direcciones URL en Magento

Quien trabaja con Magento sabe lo difícil que es traducir el sistema al portugués (Brasil), y aquí mismo en el blog ya expliqué porque es tan difícil crear una traducción 100% completa.

Leer el post: Traducción 100% ¡Qué Mentira!

Y tiene otro punto del sistema donde la traducción no llega, que son las url’s de los enlaces nativos del sistema, como Cerrar Pedido, Nueva cuenta, Mis favoritos, etc.

En este post podemos ver cómo hacer esa traducción para mejorar no sólo la estética de sus url’s, sino también la indexación (SEO) del sitio.

Paso 1 – El CMS

En el backend del sistema es posible crear algunas páginas estáticas de contenido, y Magento ya crea por defecto algunas de estas páginas, como la Página Inicial (home), Sobre Nós (about-magento-demo-store), Central de Atendimento (customer-service), etc.

En esta situación es posible resolver el problema sólo editando cada página, cambiando el valor del campo URL.

Cambiar la dirección URL del CMS

La traducción portugués-brasil disponible aquí en el blog ya realiza la traducción de algunos de los contenidos CMS, no deje de obtener una copia en el post: La Mejor Traducción Magento pt-BR.

Hecho este cambio, ahora hay que cambiar el enlace que hace la llamada a esa página. En este ejemplo, acceda al menú:

CMS > Bloques estáticos [Links de pie de página]

Al acceder al bloque que contiene los enlaces a pie de página, basta con editar la url del enlace (About Us/Sobre Nosotros).

Cambiar la referencia del vínculo

Para entender mejor cómo funciona el pie de página, lea el post: Editando el pie de página.

Paso 2 – El XML

Si estudias la creación de plantillas y temas para Magento, ya sabes que muchos enlaces que aparecen en las páginas se crean a partir del xml. Generalmente usando bloques de action “addLink“, “addCartLink“, o “addLinkBlock“.

Lo que estas action’s hacen básicamente es crear el enlace en el html.

Pero muchas de ellas buscan esa url a través de helpers, como en el ejemplo del enlace (Log In/Intro) del cliente:

Esta action va a buscar dentro de la clase:

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

El método getLoginUrl() para obtener la url de ese enlace.

Entonces la mejor manera de traducir esta url, sería volver a crear la action addLink de esta manera:

cliente/conta/entrarLog Intrue100

En este ejemplo he cambiado la llamada url helper por url, y agregé el atributo prepare=true para volver a construir la url. Esto va a transformar:

customer/account/login

en el

cliente/conta/entrar

Con eso puedes traducir las url’s de los enlaces, pero ahora falta apuntar esas nuevas url’s a las mismas páginas de los links anteriores.

Paso 3 – Reescritura de URL

Aquí está la funcionalidad ya mencionada aquí en el blog en:
Url Amigável no Magento. Que puede ser utilizado en otras situaciones además de la traducción de enlaces y url’s.

Acceda a su backend el menú:

Catálogo > Administrar Reescritura de URL [Crear URL]

Para esa situación de traducción de url’s usted elegirá la opción “Personalizado“, el identificador así como la descripción serán sólo para su control en backend.

Lo importante aquí son los campos “Nuevo Camino“, “Camino de Base“, y “Redirigir“.

Creación de la redirección de URL traducida

Nuevo Camino – Informe a url traducida, por ejemplo: cliente/cuenta/entrada

Ruta Base – Informe a la url original (en inglés), por ejemplo: customer/account/login

Redirigir – Mantenga “No” para que su tienda continúe mostrando la url traducida, sino que va a redirigir la nueva url a la url anterior (original).

Después de guardar todo y actualizar la caché, ya puede realizar las pruebas. Recuerde que usted no debe cambiar los archivos XML del directorio base/default, haga siempre una copia de ellos por default/default o para su plantilla/tema personalizado.

¡Éxito!

Hasta que surja la oportunidad de mudarme a España, sigo ayudando desde la distancia.