Código modificado para ver el bloque de idiomas con 1 solo idioma activado en Prestashop 1.7

¿Si tengo solo 1 idioma activado no se ve el bloque de idiomas en Prestashop?

En el pasado lo comente varias veces en el foro de Prestashop, para varias personas que querían que se viera el bloque de idiomas, aunque tuvieran solo 1 idioma activado (recuerdo que si en la tienda solo tienes 1 idioma activa, el módulo no se visualiza).

No recuerdo de memoria sobre que versiones de Prestashop lo comente, pero imagino que no era ninguna de las actuales, porque ha pasado la pera de años.

En este ejemplo, pues como estamos ya con Prestashop 1.7, pues vamos hacer el ejemplo en base Prestashop 1.7.1.0.

Imaginemos que en la pestaña Internacional -> Localización -> Idioma solo tenemos un idioma activado.

Solo 1 idioma activado en Prestashop 1.7
Solo 1 idioma activado en Prestashop 1.7

Cuando tenemos un idioma activado, el bloque de idiomas no se muestra en Prestashop

¿Dónde esta el bloque de idiomas en Prestashop 1.7?

 

¿Cómo podemos solucionarlo?

En la actualidad, se pueden hacer overrides de las clases de los módulos, por lo que es aconsejable hacer un override, pero en este caso vamos a tocar el original directamente.

Nos vamos al fichero:

modules/ps_languageselector/ps_languageselector.php

Y vamos a buscar la siguiente línea de código (En Prestashop 1.7.1.0 y con la versión 2.0.2 del módulo sobre la línea 58):

if (1 < count($languages))
Código PHP del bloque de idiomas de Prestashop 1.7
Código PHP del bloque de idiomas de Prestashop 1.7

Y la dejamos así:

if (1 <= count($languages))
Código modificado para ver el bloque de idiomas con 1 solo idioma activado en Prestashop 1.7

Antes el IF, decía si 1 es menor que el número de idiomas hago “tal cosa”, ahora el IF dice si 1 es menor o igual que el número de idiomas ejecuto las instrucciones que hacen que se vean el modulo.

Ahora veremos que ya se visualiza el bloque de idiomas en vuestra tienda, teniendo solo 1 idioma activado.

Visualizar el bloque de idiomas con 1 solo idioma activado en Prestashop 1.7

Guía realizada bajo Prestashop 1.7.1.0