Cambiar orden de los productos en el buscador en Prestashop

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

Configurar orden de los productos por defecto en Prestashop

Me voy a la tienda, y veo que me muestra los productos ordenados por nombre de forma ascenderte.

Listado de productos ordenados alfabéticamente

¿Pero qué ocurre si realizo una búsqueda en el buscador que me proporciona Prestashop?

Listado de productos por búsqueda

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

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.

Linea de código cambiada

Si usamos ahora el buscador, aparecerán los productos ordenados por nombre de forma ascendente.

Producto ordenado

Consideraciones a tener en cuenta:

  1.  Evitar editar el controlador original y crear un override del mismo en el directorio -> /override/controllers/front/listing/
  2. 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