En muchas ocasiones necesitamos exportar todos los productos de nuestra tienda para poder trabajar con ellos. Hacer inventario, modificar productos masivamente o simplemente enviárselo a alguno distribuidor.
Venden muchos módulos para hacer esto con precios que rondan desde los 60,00 € a los 180,00 €. Pero con esta consulta SQL lo vas a poder hacer GRATIS, utilizando las herramienta que PrestaShop tiene de serie. Vamos a ello.
En la administración de tu tienda online pincha en el menú Ajustes avanzados > Consultas SQL
Arriba a la derecha pulsa en el botón «Añadir nueva consulta SQL». Como nombre le pondremos «Exportar todos los productos» o el nombre que mejor te sirva para identificar la consulta en el futuro.
En la consulta SQL tendrás que añadir el siguiente código.
Exportar productos prestashop
SELECT p.id_product, p.active, pl.name, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ",") as categories, p.price, p.id_tax_rules_group, p.wholesale_price, p.reference, p.supplier_reference, p.id_supplier, p.id_manufacturer, p.upc, p.ecotax, p.weight, p.quantity, pl.description_short, pl.description, pl.meta_title, pl.meta_keywords, pl.meta_description, pl.link_rewrite, pl.available_now, pl.available_later, p.available_for_order, p.date_add, p.show_price, p.online_only, p.condition, p.id_shop_default FROM ps_product p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps_category c ON (cp.id_category = c.id_category) LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 AND p.id_shop_default = 1 AND c.id_shop_default = 1 GROUP BY p.id_product;
IMPORTANTE: En la consulta cambia ps_ por el prefix que tengas en tu instalación de PrestaShop.
Una vez guardado ya podrás exportar el listado en CSV, para trabajar con el con Excel o las hojas de calculo de Google Drive.
¿Qué datos de exporta con está consulta?
Las columnas del listado de productos son las mismas que el documento CSV de ejemplo que proporciona PrestaShop en su herramienta para importar productos en masa desde la administración. Estos son:
- ID del producto
- Activo (1/0)
- Nombre
- Categorias
- Precio
- ID de IVA
- Precio al por mayor
- Referencia
- Referencia del proveedor
- ID del proveedor
- ID del fabricante
- UCP
- Ecotaxa
- Peso
- Cantidad
- Descripción corta
- Descripción
- Meta-titulo
- Meta-Keywords
- Meta-descripción
- Link Rewrite
- Disponible ahora
- available_now
- available_later,
- available_for_order
- date_add
- show_price
- online_only
- condition
- id_shop_default
Como puede hacerse para que también obtenga las combinaciones con sus respectivos precios y referencias?
Buenos días Samuel,
¿Hay alguna manera de añadir «Preferencias de disponibilidad» a la consulta? Creo que hemos cometido algún error en algunas fichas de producto permitiendo pedidos, aún sin stock.. y eso que tenemos la opción «Permitir ventas de productos que están fuera de stock » de parámetros de la tienda marcada en «No» (ni idea de por qué pasa esto..). El caso es que me gustaría poder exportar todos los productos con esa línea para poder identificar los errores, muchas gracias
Hola, he realizado todos los pasos y da error indefinido «checkedForm»
Esta consulta es para Prestashop 1.6, para la versión 1.7 puede que haya cambiado algún elemento en la base de datos.
Puedes ejecutar la consulta desde phpMyAdmin y si te funciona es por un bug de la versión 1.7 mira este enlace: https://github.com/PrestaShop/PrestaShop/issues/10316