Antes de empezar el artículo, dejo algunas entradas anteriores que tenemos en el blog referente al orden por defecto de los productos en la tienda.
El problema que se nos plantea es el siguiente:
Voy a la pestaña Parámetros de la tienda -> Configuración
Bloque paginación
Y señalo que muestre los productos ordenados por nombre de forma ascendente
Me voy a la tienda, y veo que me muestra los productos ordenados por nombre de forma ascenderte.
¿Pero qué ocurre si realizo una búsqueda en el buscador que me proporciona Prestashop?
Vemos que no muestra los productos ordenados de forma alfabética.
¡Dios mío! ¿Qué ocurre?
Si vamos al controlador correspondiente al buscador, es decir al fichero:
/controllers/front/listing/SearchController.php
Vemos dentro la función -> getProductSearchQuery que tenemos un ordenamiento definido por defecto.
Como podéis ver en la captura hablamos de la siguiente línea de código:
->setSortOrder(new SortOrder('product', 'position', 'desc'))
Si cambiamos ‘posicion’ por -> ‘name’ y ‘desc’ por ‘asc’ mostrara ordenados los productos por nombre de forma ascendente.
Si usamos ahora el buscador, aparecerán los productos ordenados por nombre de forma ascendente.
Consideraciones a tener en cuenta:
- Evitar editar el controlador original y crear un override del mismo en el directorio -> /override/controllers/front/listing/
- Esperemos que en un futuro Prestashop permite configurar el “orden” de los productos a la hora de visualizarlos en las búsquedas.
Documento creado bajo Prestashop 1.7.3.3