Mostrar todos los productos cuando la búsqueda está en blanco (Opencart 2.3.x)

Objetivos del blog.

Después de leer este blog, podrá mostrar todos los productos cuando la búsqueda esté en blanco.

Planteamiento del problema

Actualmente en Opencart, cuando el usuario busca cualquier cadena con la función de búsqueda, no se devuelve ningún producto si no se ha encontrado ningún producto de búsqueda en la base de datos. Queremos que devuelva todos los productos cuando la búsqueda esté vacía.

Implementación de Código

Para lograr esto, tendremos que hacer algunos cambios en la función de modelo que estamos usando para obtener productos de la base de datos en base a la palabra clave de búsqueda ingresada. Aquí estamos haciendo cambios en getProducts () ?function of model catálogo / modelo / catálogo / producto.php ya que estamos utilizando esta función para mostrar los resultados en base a la palabra clave de búsqueda.

Nota: puede hacer los mismos cambios en la función de modelo que está utilizando para obtener productos. Aquí está el código que hemos añadido en el modelo:

/ * Se verificó si el resultado estaba vacío (filas 0 afectadas) de la consulta que se está ejecutando para recuperar datos en base a la palabra clave de búsqueda. * Si es así, entonces se agrega una nueva consulta para obtener nuevos productos agregados y se ejecuta igual. * Al hacer esto, mostraremos nuestros nuevos productos en la página de búsqueda en lugar de mostrar una página en blanco. * / if ($ query-> num_rows == 0) {$ sql = "SELECT DISTINCT p.product_id FROM". DB_PREFIX. "producto p ÚNICA IZQUIERDA". DB_PREFIX. "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN". DB_PREFIX. "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE p.status = '1' AND p.date_available <= NOW () AND p2s.store_id = '". (int) $ this-> config-> get ('config_store_id'). "'GROUP BY p.product_id ORDEN POR p.product_id DESC LIMIT 20"; $ query = $ this-> db-> query ($ sql); }

Agregue este código justo después de ejecutar la consulta principal o justo después de la línea ($ consulta = $ esto-> db-> consulta ($ sql)). En este código, primero hemos verificado el número de filas afectadas por la consulta principal (utilizada para obtener datos en función de la palabra clave de búsqueda). Si la fila afectada es 0 ($ query-> num_rows == 0) Luego agregamos nuestra consulta para buscar nuevos productos añadidos. Al hacer esto, mostraremos nuestros nuevos productos en la página de búsqueda en lugar de mostrar una página en blanco.

Nota: Aquí hemos escrito una consulta para obtener nuevos productos agregados de la base de datos si la búsqueda está vacía. También puede agregar consultas para obtener productos más vendidos o especiales de acuerdo con sus requerimientos.

Resumen

Después de realizar los siguientes cambios en el archivo modelo, los nuevos productos agregados se mostrarán cuando la búsqueda esté vacía.


Shivika Tomar

Shivika Tomar

Shivika Tomar is a passionate PHP developer. Her area of interest is website development. She loves to bring healing to stressful and sad peoples.

Leave a Reply

Your email address will not be published. Required fields are marked *