Nombreux de mes clients qui ont acheté le module « Générateur de code EAN » pour leur site PrestaShop désirent par la suite pouvoir exporter leur catalogue.
Voici donc ci-dessous la requête SQL (à exécuter dans phpmyadmin) qui listera l’id du produit, l’id de l’attribut le cas écheant (un « – » sinon), le code EAN et le nom du produit
SELECT p.id_product, '-' as id_attribute, p.ean13, pl.name
FROM ps_product p, ps_product_lang pl, ps_lang
WHERE p.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code='fr')
and p.id_product not in (SELECT id_product FROM ps_product_attribute)
UNION
SELECT pa.id_product, pa.id_product_attribute, pa.ean13, pl.name
FROM ps_product_attribute pa, ps_product_lang pl, ps_lang
WHERE pa.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code='fr')
ORDER BY id_product
FROM ps_product p, ps_product_lang pl, ps_lang
WHERE p.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code='fr')
and p.id_product not in (SELECT id_product FROM ps_product_attribute)
UNION
SELECT pa.id_product, pa.id_product_attribute, pa.ean13, pl.name
FROM ps_product_attribute pa, ps_product_lang pl, ps_lang
WHERE pa.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code='fr')
ORDER BY id_product
N’hésitez pas à poster un commentaire pour m’indiquer si cette requête vous a été utile ou si vous voyez des idées d’améliorations !
Bonjour, j’ai réussi à exporter mon catalogue avec tous les codes EAN en suivant votre astuce, mais je me rend compte que je n’ai pas les prix de vente ni les références de mes produits. Avez-vous une astuce aussi brillante que la précédente ?
En effet, je souhaiterais utiliser un logiciel de caisse mais je bug un peu ni connaissant rien.
Merci d’avance pour votre réponse.
Cordialement,
Sylvie
Bonjour Sylvie
Voici la requête modifiée pour avoir en plus les références et les prix HT :
SELECT p.id_product, ‘-‘ as id_attribute, p.ean13, pl.name, p.reference, p.price
FROM ps_product p, ps_product_lang pl, ps_lang
WHERE p.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code=’fr’)
and p.id_product not in (SELECT id_product FROM ps_product_attribute)
UNION
SELECT pa.id_product, pa.id_product_attribute, pa.ean13, pl.name, pa.reference, pa.price
FROM ps_product_attribute pa, ps_product_lang pl, ps_lang
WHERE pa.id_product = pl.id_product and pl.id_lang = (select id_lang from ps_lang where iso_code=’fr’)
ORDER BY id_product