Avisos
Vaciar todo

Exportar productos completos  

 
carlos
 carlos
Estimable Member

Hola. Quiero pasar todos los productos de una tienda prestashop, a otra tienda prestashop. A ser posible, con todos los datos, es decir, con las descripciones, metatítulos, atributos, etc.... En este hilo https://www.webempresa.com/foro/42-Administraci%C3%B3n-PrestaShop/149440-exportar-productos-prestashop-16.html ,Pablo aconseja hacer una consulta sql.
Yo he ido al hilo que menciona Pablo, que es este, www.prestashop.com/forums/topic/143083-how-can-i-export-my-products-to-a-csv-file/ ,y al final del todo, parece que a alguien le ha funcionado la exportación.
Antes de hacer nada, quería saber si lo que tengo que hacer es pegar el siguiente código en sql. Y si haciendo eso, ¿ya tendría una exportación completa de los productos? Aquí dejo el código.
SELECT
p.id_product AS `ID`,
p.active AS `Active (0/1)`,
pl.`name` AS `Name`,
GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR ',') AS `Categories (x,y,z...)`,
p.price AS `Price tax excluded or Price tax included`,
p.id_tax_rules_group AS `Tax rules ID`,
p.wholesale_price AS `Wholesale price`,
p.on_sale AS `On sale (0/1)`,
IF(pr.reduction_type='amount',pr.reduction,'') AS `Discount amount`,
IF(pr.reduction_type='percentage',pr.reduction,'') AS `Discount percent`,
pr.`from` AS `Discount from (yyyy-mm-dd)`,
pr.`to` AS `Discount to (yyyy-mm-dd)`,
p.reference AS `Reference #`,
pps.product_supplier_reference AS `Supplier reference #`,
ps.`name` AS `Supplier`,
pm.`name` AS `Manufacturer`,
p.ean13 AS `EAN13`,
p.upc AS `UPC`,
p.ecotax AS `Ecotax`,
p.width AS `Width`,
p.height AS `Height`,
p.depth AS `Depth`,
p.weight AS `Weight`,
pq.quantity AS `Quantity`,
p.minimal_quantity AS `Minimal quantity`,
p.visibility AS `Visibility`,
p.additional_shipping_cost AS `Additional shipping cost`,
p.unity AS `Unit for the unit price`,
p.unit_price_ratio AS `Unit price`,
pl.description_short AS `Short description`,
pl.description AS `Description`,
IF(t.`name` IS NOT NULL, GROUP_CONCAT(DISTINCT(t.`name`) SEPARATOR ','), '') AS `Tags (x,y,z...)`,
pl.meta_title AS `Meta title`,
pl.meta_keywords AS `Meta keywords`,
pl.meta_description AS `Meta description`,
pl.link_rewrite AS `URL rewritten`,
pl.available_now AS `Text when in stock`,
pl.available_later AS `Text when backorder allowed`,
p.available_for_order AS `Available for order (0 = No, 1 = Yes)`,
'' AS `Product available date`,
p.date_add `Product creation date`,
p.show_price AS `Show price (0 = No, 1 = Yes)`,
IF(pi.`id_product` IS NOT NULL, GROUP_CONCAT(DISTINCT(concat( 'http://my-URL.com/img/p/',mid(pi.id_image,1,1),'/', if (length(pi.id_image)>1, concat(mid(pi.id_image,2,1),'/'),''),if (length(pi.id_image)>2,concat(mid(pi.id_image,3,1),'/'),''),if (length(pi.id_image)>3,concat(mid(pi.id_image,4,1),'/'),''),if (length(pi.id_image)>4,concat(mid(pi.id_image,5,1),'/'),''), pi.id_image, '.jpg' )) SEPARATOR ','), '') AS url_image,
0 AS `Delete existing images (0 = No, 1 = Yes)`,
GROUP_CONCAT(DISTINCT(CONCAT((fl.`name`), ':', (fvl.`value`), ':' , (f.position), ':' , (fv.custom))) SEPARATOR ',') AS `Feature (Name:Value:Position:Customized)`,
p.online_only AS `Available online only (0 = No, 1 = Yes)`,
p.condition AS `Condition`,
0 AS `Customizable (0 = No, 1 = Yes)`,
0 AS `Uploadable files (0 = No, 1 = Yes)`,
0 AS `Text fields (0 = No, 1 = Yes)`,
'' AS `Action when out of stock`,
p.id_shop_default AS `ID / Name of shop`,
p.advanced_stock_management AS `Advanced Stock Management`,
'' AS `Depends on stock`,
'' AS `Warehouse`
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_specific_price pr ON (p.id_product = pr.id_product)
LEFT JOIN ps_product_tag pt ON (p.id_product = pt.id_product)
LEFT JOIN ps_tag t ON ( pt.id_tag = t.id_tag )
LEFT JOIN ps_image pi ON ( p.id_product = pi.id_product)
LEFT JOIN ps_manufacturer pm ON (p.id_manufacturer = pm.id_manufacturer)
LEFT JOIN ps_supplier ps ON (p.id_supplier = ps.id_supplier)
LEFT JOIN ps_product_supplier pps ON (p.id_supplier = pps.id_supplier)
LEFT JOIN ps_stock_available pq ON (p.id_product = pq.id_product)
LEFT JOIN ps_configuration conf ON conf.`name` = 'ps_SHOP_DOMAIN'
LEFT JOIN ps_feature_product fp ON p.id_product = fp.id_product
LEFT JOIN ps_feature_lang fl ON fp.id_feature = fl.id_feature
LEFT JOIN ps_feature_value_lang fvl ON fp.id_feature_value = fvl.id_feature_value
LEFT JOIN ps_feature f ON fp.id_feature = f.id_feature
LEFT JOIN ps_feature_value fv ON fp.id_feature_value = fv.id_feature_value
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

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 21/10/2016 6:37 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Puedes probar esa consulta SQL desde tu PHPMyadmin que esta disponible en el Cpanel de tu cuenta de hosting, selecciona la base de datos y luego en el tab SQL pega la consulta y verifica si te funciona y devuelve datos.

Saludos.

ResponderCitar
Respondido : 21/10/2016 8:20 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

carlos
 carlos
Estimable Member

Hola, he realizado la siguiente consulta para exportar los productos con todos sus datos:
SELECT p.id_product, p.active, pl.name, GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR “,”) as categories, cl.id_category, p.price, p.id_tax_rules_group, p.wholesale_price, p.on_sale, p.reference, p.supplier_reference, p.id_supplier, p.id_manufacturer, p.upc, p.ecotax, p.weight, sa.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 ps47f_product p LEFT JOIN ps47f_product_lang pl ON (p.id_product = pl.id_product) LEFT JOIN ps47f_category_product cp ON (p.id_product = cp.id_product) LEFT JOIN ps47f_category_lang cl ON (cp.id_category = cl.id_category) LEFT JOIN ps47f_stock_available sa ON (p.id_product = sa.id_product) WHERE pl.id_lang = 1 AND cl.id_lang = 1 GROUP BY p.id_product

El caso, es que me da este error: #1064 (adjunto imagen)
¿Sabéis a qué se debe ese error? y ¿Cómo solucionarlo? Gracias.

ResponderCitar
Respondido : 24/10/2016 4:26 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

De donde sacaste esa consulta

Es un error de sintaxis

Prueba quitando esto : GROUP_CONCAT(DISTINCT(cl.name) SEPARATOR “,”) as categories,

Saludos.

ResponderCitar
Respondido : 24/10/2016 10:32 pm

Cursos Gratuitos WordPress