Avisos
Vaciar todo

[Resuelto] Exportar descripciones de productos en HTML con consulta SQL  

 
José Miguel
 José Miguel
Usuario experto

Hola buenas!

Estoy preparando una nueva version de una de nuestras tiendas en PS 1.7.6, y en este momento estamos importando productos de la tienda actual (PS 1.6.0), que previamente habíamos exportado a csv con un modulo de exportación.

El tema es que el modulo de exportacion no exporta el contenido de la descripción larga en HTML, sino que lo exporta en texto plano sin formato.

Me gustaría poder exportar las descripciones en HTML a un archivo, para así subir los productos a la web nueva ya con la descripción tal cual está ahora, con sus imagenes, tablas, etc.

Creo que se podría hacer una consulta SQL para exportar este contenido, junto a una columna de ID de producto y nombre, por ejemplo. Pero no tengo ni idea de cómo se hace.

Podríais echarme un cable?

Muchas gracias por adelantado!

Respondido : 15/04/2020 9:23 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Has probado con las propias herramientas de PrestaShop si te sucede lo mismo?, es decir que sólo te exporta el texto?

Revisa: https://www.webempresa.com/foro/administracion-prestashop/exportar-productos-prestashop-16

Has consultado con los desarrolldores del módulo, especialmente si el módulo que usas es de pago, podrías consultar.

Saludos.

Respondido : 15/04/2020 9:58 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

José Miguel
 José Miguel
Usuario experto

@jmarreros

Hola John, desde Prestashop, en la vista de productos, solo se exporta lo siguiente:

"ID" Imagen Nombre Referencia Categoría Precio base Precio final Cantidad Estado 

Y el modulo, por lo que sea, solo exporta asi, no tiene opcion de que las descripciones sean en HTML. Es antiguo y no tiene actualizaciones.

Le echo un ojo al foro y te digo si me aclaro.

Respondido : 16/04/2020 7:36 am
Karen Rios
 Karen Rios
Usuario Moderator

Hola José Miguel,

Nos comentas como te ha ido con el foro que indico Jhon

Saludos

Respondido : 16/04/2020 2:33 pm

Cursos Gratuitos WordPress

José Miguel
 José Miguel
Usuario experto

@karenrios

Pues he utilizado esta consulta y ha funcionado:

SELECT pp.id_product, ppl.name, pcl.name "CATEGORY", pp.reference, pp.quantity, pp.price, ppl.description_short, ppl.description, pt.name "TAGS", pm.name

FROM `ps_product` pp, `ps_product_lang` ppl, `ps_manufacturer` pm, ps_category pc, ps_category_lang pcl, ps_tag pt, ps_product_tag ppt

WHERE 1=1

AND ppl.id_lang =1

AND pt.id_lang =1

AND pcl.id_lang =1

AND pp.id_product = ppl.id_product

AND pp.id_manufacturer = pm.id_manufacturer

AND pp.id_category_default = pc.id_category

AND pc.id_category = pcl.id_category

AND pp.id_product = ppt.id_product

AND ppt.id_tag = pt.id_tag

ORDER BY id_product

El unico problema es que me ha volcado como 56 filas repetidas de cada producto, no entiendo nada. Por alguna razon deben estar repetidos todas esas veces los productos, por idiomas, o por otro tipo de razon.

¿Sabeis qué tendría que modificar del codigo de la consulta SQL para que solo me saliera una fila por cada producto?

Gracias

Saludos

Respondido : 16/04/2020 6:02 pm
José Miguel
 José Miguel
Usuario experto

Creo que ya se que pasa. Mirando la tabla ps_product_lang veo que como tengo 4 tiendas en multitienda y tuve en su momento activados 7 idiomas, en total sale una barbaridad de filas para cada producto.

Necesito saber en la sentencia anterior, cómo indicar que solo quiero el valor de id_shop=1 y de id_lang=1

Me podeis ayudar?

Respondido : 16/04/2020 6:18 pm

Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Entiendo que todos los registros son idénticos en todos los campos que recuperas, puedes probar con:

SELECT DISTINCT

En lugar de sólo

SELECT 

Saludos.

Respondido : 16/04/2020 6:51 pm
José Miguel
 José Miguel
Usuario experto

Hola @jmarreros

Mirando en los docs de prestashop he encontrado y retocado esta consulta, mucho mas sencilla, que me ha dado resultado:

SELECT p.id_product, pl.name, pl.link_rewrite, pl.description
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
WHERE p.active = 1
AND pl.id_lang = 1
AND pl.id_shop = 1

La dejo aqui por si a alguien le sirve.

Gracias

Saludos!

Respondido : 16/04/2020 7:00 pm

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

Karen Rios
 Karen Rios
Usuario Moderator

Hola José Miguel,

Gracias por tu aporte, estoy segura que sera de utilidad para futuras consultas.

Con esto podemos dar el tema como cerrado.

Saludos 😊 

Respondido : 16/04/2020 7:36 pm