Magento multi-idioma

Configurar una tienda Magento con multiples idiomas

Algo muy común en cualquier sitio web es la necesidad de tener distintos idiomas para llegar a más publico, pero sin tener que comprar más dominios.
En el artículo anterior trate de documentar como crear un Magento configurando multiples dominios. En este articulo tratare de explicar paso a paso como crear una tienda multi-idioma bajo un solo dominio y usando una URL amigable como por ejemplo:

www.mi-dominio.com/es/     - Vista en español
www.mi-dominio.com/en/     - Vista en ingles
www.mi-dominio.com/fr/     - Vista en frances      

La configuración es la siguiente:

  1. Sistema > Administrar tiendas. Aquí vamos a crear una vista para cada idioma de nuestra tienda.El campo código es muy importante porque es lo que usaremos para diferenciar cada vista y construir la URL de manera que quede algo como www.mi-dominio.com/es/.

    Nueva vista Magento
    Figura 1. Crear vista.
  2. Vamos a Sistema > Configuración > General > General, para configurar el país predeterminado y la configuración regional.
    Configuración regional
    Figura 2. Configuración regional

    No olvidemos que antes debemos seleccionar el alcance de la configuración para la vista que estamos configurando

    Alcance de la configuración
    Figura 3. Alcance de la configuración
  3. Lo siguiente es ir a Sistema > Configuración > General > Web > Opciones de URL > Agregar código de la tienda en la URL = Si. Aquí el alcance de la configuración tiene que ser default.

    Código de la vista en la URL
    Figura 4. Código de la vista en la URL
  4. Si aún no lo tienes, instala las traducciones correspondientes y listo. Las traducciones podemos encontrarlas y editarlas en la instalación de Magento /app/locale

Llegado a este punto, ya tenemos la configuración multi-idioma terminada. Pero falta un detalle, si cambiamos la vista de nuestra tienda podemos ver que la url muestra algo parecido a:

URL poco amigable
Figura 5. URL

Por ultimo nos falta eliminar el parámetro ___from_store.

Evitar el parámetro  ‘___from_store’ en la URL cuando cambiamos de vistas en Magento

Por alguna razón Magento está configurado para mostrar este parámetro de forma predeterminada, sin embargo, en la mayor parte de los casoses conveniente evitar este parámetro para que no obtenga ningún valor extraño en Google Analytics o bien de cara al posicionamiento SEO.
Al grano, vamos a ver como quitar el parametro ___from_store de nuestra URL:
Buscamos el archivo languages.phtml ubicado en /app/design/frontend/default/template/page/switch/languages.phtml. Este archivo contiene la línea que genera las URLs que nos direcciona a una vista concreta de nuestro sitio web.

Es tan sencillo como buscar el siguiente método aproximadamente en la línea 41:

echo $_lang->getCurrentUrl()

Y agregar el parametro ‘false’, como muestra la siguiente línea.

echo $_lang->getCurrentUrl(false)

Esto obligará al modelo de la tienda en Magento a generar la URL sin el parámetro de consulta.

Si vaciamos la cache de Magento y recargamos la página, ya podemos ver que la URL es algo como:

https://localhost/magento/en/

Comentarios y opiniones

Puede que tarde en responder, se paciente.

*
*