Prestashop: mostrar productos de subcategorías en las categorías padre

Hoy queremos hablar de una necesidad muy frecuente en Prestashop: cómo mostrar los productos de las subcategorías en las categorías padre.
Nos encontramos ante esta situación:
- Tenemos categorías y, dentro de las mismas, subcategorías.
- Hemos añadido productos asociándolos a las subcategorías, pero no a las categorías padre.
- En el catálogo de productos, nos aparecen las categorías padre vacías, mostrando el incómodo mensaje de "No hay productos en esta categoría", cuando no quremos que sea así porque si la categoría "mesas" tiene productos, la categoría "muebles", más genérica, los tiene también.

Se puede solucionar de dos formas:
- Asociando los productos también a la categoría padre, pero desde luego, si ya tenemos un catálogo muy amplio, no tenemos ninguna gana de ir modificando producto por producto.
- Hacerlo de forma automática, configurando Prestashop para que las categorías padre muestren los productos de las categorías hijas. Este es el método que vamos a explicar hoy.

- Tenemos que instalar el módulo "Bloque de navegación por facetas", que viene por defecto en la instalación de Prestashop.
- Tenemos que configurar el módulo. Lo más importante es que pongamos a "SÍ" la opción de "Mostrar productos de subcategorías".

Con este sencillo paso a muchos de vosotros ya os funcionará.

- ¿Qué debemos hacer si aún no nos muestra los productos en la categoría padre? Deberemos añadir una nueva plantilla en la configuración de ese mismo bloque.

En el campo "Categorías utilizadas para esta plantilla", seleccionaremos las categorías que queremos que se vean afectadas, tanto padres como hijas.

Y, más abajo, en los filtros, seleccionaremos el filtro de subcategorías. Gaurdaremos cambios.

Con este otro paso, ya a casi todo el mundo le funciona.

- ¿Aún os sigue sin funcionar? Mucha gente se vuelve loca porque sigue todos estos pasos y no funciona. Y, lo peor de todo, no se encuentras soluciones en foros ni blogs, como mucho algunas instrucciones para realizar modificaciones en el código, pero siempre que podamos, lo evitaremos. Ahora os preguntamos ¿Vuestra plantilla tiene columna derecha, columna izquierda o ambas? Porque si no tiene por lo menos una de las dos aquí está vuestro problema. El bloque de navegación por facetas de Prestashop necesita que por lo menos una de estas columnas esté activada para funcionar. Así que nos toca activarla, aunque luego la hagamos invisible. Nos dirigiremos a Preferencias > Temas y haremos clic sobre el botón de "Ajustes Avanzados" de nuestra plantilla activa. Si estáis en este caso, tendremos "Columna izquierda por defecto" a NO y "Columna derecha por defeto" a NO. Hay que poner a SÍ alguna de las dos, la que queráis. Ahora casi seguro que ya os funciona y podéis ver los productos de las subcategorías en la categoría padre. ¿Cuál es el problema? que está visible una de las dos columnas, cuando no es lo que queréis. Para hacerla "invisble", iremos a Módulos > Posiciones de los módulos y buscaremos el hook correspondiente a la columna que os interese (displayLeftColumn o displayRightColumn) y tendremos que desenganchar todos los módulos que estuvieran visibles en esa columna, incluido el Bloque de Navegación por Facetas.

Así, conseguiríamos el resultado deseado.

- ¿Qué todavía no os funciona? Entonces, me temo, que no quedará más remedio que probar con alguna de las soluciones en las que hay que modificar código. Nosotros nunca nos hemos visto en esta necesidad, pero os dejamos un enlace por si os sirven de ayuda:
- En inglés, pero bastante actual