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.
Cuando tenemos un idioma activado, el bloque de idiomas no se muestra en Prestashop
¿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))
Y la dejamos así:
if (1 <= count($languages))
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.
Guía realizada bajo Prestashop 1.7.1.0