Magento – Exportar productos de una categoría desde la base de datos

Veamos cómo exportar productos de una categoría desde la base de datos en Magento 1.X.

En según que versiones de Magento, la exportación de productos es complicado. Sobretodo si lo que quieres hacer es exportaciones específicas. Una opción es buscar módulos/plugins específicos que hagan la exportación deseada u otra, pelearte con la base de datos. Si a alguien se le ocurre lo segundo, le facilito unas consultas SQL que hice para exportar los productos (solo algunos datos) de una categoría específica.

1. Entramos en phpMyAdmin

Para mayor comodidad, entramos en el gestor de base de datos phpMyAdmin y ejecutamos las siguiente consulta en la pestaña SQL.

SELECT catalog_category_product.category_id, catalog_category_product.product_id, catalog_product_entity.sku, catalog_product_entity_text.value as nom,catalog_product_entity_decimal.value as preu
FROM catalog_category_product, catalog_product_entity,catalog_product_entity_text,catalog_product_entity_decimal 
WHERE catalog_category_product.category_id=118 
AND catalog_category_product.product_id=catalog_product_entity.entity_id 
AND catalog_category_product.product_id=catalog_product_entity_text.entity_id 
AND catalog_product_entity_text.attribute_id=72 
AND catalog_category_product.product_id=catalog_product_entity_decimal.entity_id 
AND catalog_product_entity_decimal.attribute_id=75

Donde, encontramos que:

  • catalog_category_product, es la talba donde se guarda en que categoría se guarda cada producto
  • catalog_product_entity, tabla principal de datos del producto
  • catalog_product_entity_text, tabla con los atributos de tipo texto de los productos
  • catalog_product_entity_decimal, tabla con los atributos de tipo decimal de los productos
  • catalog_category_product.category_id=118, condición en la que indicamos la categoría a tratar
  • catalog_product_entity_text.attribute_id=72, le decimos que cogemos el nombre del producto (atributo 72)
  • catalog_product_entity_decimal.attribute_id=75, le decimos que cogemos el precio del producto (atributo 75)

Los atributos de los productos podéis encontrarlos en la tabla eav_attribute.

Si lo que queremos es exportar los productos de varias categorías, la consulta sería:

SELECT catalog_category_product.category_id, catalog_category_product.product_id, catalog_product_entity.sku, catalog_product_entity_text.value as nom,catalog_product_entity_decimal.value as preu
FROM catalog_category_product, catalog_product_entity,catalog_product_entity_text,catalog_product_entity_decimal 
WHERE catalog_category_product.category_id IN (155,156,157,158,159,160,161) 
AND catalog_category_product.product_id=catalog_product_entity.entity_id 
AND catalog_category_product.product_id=catalog_product_entity_text.entity_id 
AND catalog_product_entity_text.attribute_id=72 
AND catalog_category_product.product_id=catalog_product_entity_decimal.entity_id 
AND catalog_product_entity_decimal.attribute_id=75

Donde cambiamos la sentencia de la categoría a tratar por catalog_category_product.category_id IN (155,156,157,158,159,160,161)

2. Exportamos consulta

Una vez se nos muestra el listado de productos, en la parte inferior está la opción de exportar los resultados. Pulsáis y lo exportáis al formato que necesitéis (Excel por ejemplo).

Pues ale, eso es todo. espero que os haya sido de utilidad y os ahorre tiempo en el artículo cómo exportar productos de una categoría desde la base de datos de Magento 1.X.


Más información