Ocultar productos sin imagen en Prestashop GRATIS Modulo + Mysql

Tutorial para Deshabilitar productos que no tienen foto en el catalogo sin costes
Identifica las IDs de los productos que no tienen una foto y desactivalos de forma masiva.

Ocultar productos sin imagen en Prestashop es sencillo y gratis con modulo y un update de la base de datos solo en unos pasos.
Deshabilitar o ocultar productos sin imagen en un Prestashop
Redactor:
Konstantin
Publicado
22/08/2022

Bueno otro día más vamos a ver como podemos solucionar un problema muy común a la hora de realizar importaciones de productos a Prestashop masivamente que nos acaban generando productos sin imagen (cosa que no queremos que se muestren en nuestra tienda online). Veremos como en unos pasos podemos solventar este problema o por lo menos os ayudo a que salgáis de esta sin gastar dinero en módulos para ocultar los productos que no tienen foto. 

Básicamente el tutorial consiste en utilizar un modulo que detecta los productos sin imagen en Prestashop y por otro lado vamos a ver como realizar la consulta en la base de datos para deshabilitar los productos que hemos filtrado con el modulo. Antes de todo quiero comentar que no soy experto en MySql pero si lo soy en encontrar la solución a problemas similares y que he ido tirando de foros para sacar información. Como todo en este mundo se hace prueba y error, así se aprende. Lo decidí dejar documentado ya que me preció útil tenerlo en el blog para futuros casos y no depender de módulos de pago 😁

Cómo Ocultar productos sin imagen PS 1.6 y 1.7 sin pagar el modulo

Como comenté anteriormente para empezar a ocultar productos sin imagen o foto (masivamente)  dentro de nuestro catálogo de Prestashop lo primero sería identificarlos.

Gracias a un modulo gratis externo podemos obtener las IDs de los productos sin imagen lo que nos facilita mucho la tarea a la hora de actualizar vía base de datos Mysql.

Descargar modulo para deshabilitar u ocultar productos sin imagen gratis

El aporte del modulo para empezar es de Dawlins y lo pueden descargar aquí desde su pagina web.

Os dejo un enlace de descarga mirror

El modulo serviría para versiones 1.6 y 1.7 como lo comenta el desarrollador (yo lo he probado en la versión Prestashop 1.7). Después de instalar el modulo desde nuestro Back Office y darle a configurar nos saldría la lista de todos los productos que no tienen una imagen asignada, su ID, nombre y enlace para ir a modificarlo directamente. 

Exportar IDs de los productos sin imagen en Prestashop

Podemos hacer el cambio manualmente uno a uno ya que tendríamos los productos identificados. Pero que pasa si tenemos una lista de 1000 o 2000 productos 😱. En este caso vamos a copiar lo que nos muestra a un Exel (de Google mismo). Para esto vamos a seleccionar todas las tablas con el ratón. 

Con los puntos rojos he marcado desde donde y hasta donde tenemos que arrastrar el ratón para que nos copie las tablas con el Ctrl + C y pegarlas luego con Ctrl + V posteriormente en la hoja de Exel. 

Si tenemos muchísimos productos y cuesta hacer el arrastre con el ratón pueden hacer selección rápida teniendo de referencia los mismos puntos rojos. Para eso primero haz click Izquierdo en el área del punto rojo 1 luego con Ctrl + Fin te bajas hasta el final del registro y ahí le pinchas click Izquierdo manteniendo Tecla SHIFT. en el área del punto rojo 2. Ya los tendrían seleccionado y solo quedaría darle a Ctrl + V

Dentro del Exel solo nos va a interesar la primera columna que es la que contiene las IDs de los productos sin foto que nos ha mostrado el modulo. 

En los siguientes pasos vamos a proceder separar todas las IDs por comas para meterlos en la ejecución de la consulta de MySql.

Para hacer la consulta y la actualización de la base de datos van a necesitar accesos a la misma ya sea PhpMyadmin u otro gestor de Mysql que tengais en vuestro servidor. 

También pueden acceder a la base de datos desde el Backoffice de Prestashop con el modulo que os aporto en uno de mis posts. 

Separar IDs de productos sin imagen por comas para Update de MySQL

Mi método fue bien fácil me fui a esta web (Delim.co) y ahí pegue la columna de las IDs de nuestros productos que no contienen la imagen que vamos a desactivar masivamente en la base de datos. Como resultado obtenemos todo separado por comas ahora veremos para que….

Consulta MySQL masiva para desactivar productos sin imagen

Doy por hecho que teneis acceso a su base de datos para hacer esta modificación. Si no sabes como hacerlo contacta conmigo.

En si la consulta de actualización masiva en la base de datos es bien sencilla y sería la siguiente. (como ejemplo)

UPDATE ps_product_shop SET active = 0 where id_product in (23,24,25,26,27,28);

Lo que nos haría es empezar a actualizar la tabla ps_product_shop, dentro de ella se establece la columna de active = 0 que es la encargada de tener habilitados (1) o deshabilitados (0) los productos en nuestra tienda de Prestashop. Where nos daría el donde, columna que contiene las filas con las IDs que hemos exportado antes lo indicamos en un in (23,24,25,26,27,28); pegando todas las IDs dentro del paréntesis separado por comas.

Recuerden cambiar el prefijo de vuestra base de datos ya que por defecto es ps_product_shop y podría ser (su-prefijo)_product_shop

Conclusión sobre como ocultar productos sin imagen de forma masiva en un Prestashop

Con estos pasos vamos a poder ocultar productos sin imagen dentro de nuestra tienda y podremos evitar el uso de los módulos de pago que es el valor que me gustaría aportaros. 

Si necesitas asistencia en el proceso siempre puedes ponerte en contacto conmigo. 

Un saludo.