jeckyl Posted July 22, 2009 Share Posted July 22, 2009 Bonjour,Je me prend la tête à faire une extraction de produits oscommerce pour mettre dans prestashop.Voici ma requête qui récupère mes info dans oscommerce et que j'exporte en csv SELECT a.products_id as Identifiant, a.products_status as Actif, b.products_name as Nom, d.categories_name as Catégories, a.products_price as prix, a.products_model as Référence, a.products_model as Référence_fournisseur, a.products_weight as Poids, a. products_quantity as Quantité, b.products_head_desc_tag as Description_courte, b.products_description as Description, b.products_head_keywords_tag as Tags, b.products_head_desc_tag as title, b.products_head_keywords_tag as keywords, b.products_head_desc_tag as Meta_Description, CONCAT('http://localhost/prestashop/img/tmp/images/',a.products_image) as images FROM products a, products_description b, products_to_categories c, categories_description d WHERE b.products_id=a.products_id AND d.categories_id = c.categories_id AND c.products_id = a.products_id AND a.products_status = '1' GROUP BY a.products_id Bien entendu le CONCAT sert à préciser où sont stockées les images pour le redimensionnement automatique des images produits.Je trouvais assez embêtant de ne rien avoir sur le site pour faire les extractions donc c'est fait.Enfin si quelqu'un peut améliorer ma requête, je en suis pas contre. Link to comment Share on other sites More sharing options...
Johann Posted July 23, 2009 Share Posted July 23, 2009 Je suis moi même en train de migrer une boutique osCommerce vers Prestashop. J'ai écrit quelques scripts pour exporter les catégories, les produits, les clients et les commandes.En ce qui concerne les clients, je reprend toutes les infos sauf les mots de passe, et on enverra un mailing lors de l'ouverture de la boutique en Prestashop, afin que les clients utilisent "j'ai perdu mon pw" pour en regénérer un (ça fonctionne bien)en ce qui concerne les commandes, je reprends l'historique, mais je ne me suis pas trop emmerdé pour les adresses de livraisons (gérées différemment sous osCommerce). J'ajoute donc X fois la meme adresse au carnet d'adresses du client s'il a passé X commandes. Je pourrais optimiser, mais c'est pas la priorité pour l'instant.Les 2 sites OSC et PS n'étant pas sur le meme serveur, j'ai développé mon outil de migration comme ceci :- des fichiers php coté OSC qui générent des fichiers .sql (avec plein de INSERT)- un script php coté PS qui boucle sur un fichier .sql pour alimenter la base PSSi ça intéresse quelqu'un, je peux mettre le code à dispo Link to comment Share on other sites More sharing options...
jeckyl Posted July 23, 2009 Author Share Posted July 23, 2009 Bonjour,Ta solution est intéressante, mais comment fais tu pour la gestion des images des produits ?Car l'intéret de la moulinette csv de la version 1.2 de Prestashop, c'est justement de faire l'import des images en même temps que les produits.Sinon, tes scripts peuvent être intéressant pour récupérer et utiliser tes requêtes sql. Link to comment Share on other sites More sharing options...
Johann Posted July 24, 2009 Share Posted July 24, 2009 il est vrai que j'ai aussi fait l'impasse sur les images, car je profite de la migration pour changer les photos (et je n'ai que moins de 100 articles)je jeterai un oeil à l'import de la v1.2 pour automatiser la création des images aussi. ma moulinette était juste à unique, alors j'ai répondu qu'à mes propres besoins :-)je mettrai les sources ici ce weekend Link to comment Share on other sites More sharing options...
tisc0 Posted April 27, 2010 Share Posted April 27, 2010 hola Amigos,Vieux post, mais toujours d'actu pour moi !Je ne connais pas encore bien ce forum, peut-être y a-t-il d'autres threads qui abordent la question plus avant ? Ma requête d'extraction pour moi me fait bloquer sur la valeur tax_rate, j'ai une ligne par taux de tva, donc chaque fois 3 fois le même produit.Voici la requête : SELECT DISTINCT p.products_id, ptc.categories_id, pd.products_name, pd.products_description, CONCAT('http://maboutique.tld/images/',p.products_bimage,',','http://maboutique.tld/images/',p.products_bsubimage1,',','http://maboutique.tld/images/',',','http://maboutique.tld/images/',p.products_bsubimage2,',','http://maboutique.tld/images/',p.products_bsubimage3,',','http://maboutique.tld/images/',p.products_bsubimage4,',','http://maboutique.tld/images/',p.products_bsubimage5) URLimages, p.products_date_added, p.products_date_available, p.products_price, tr.tax_rate, p.products_weight, pd.products_pagetitle, pd.products_metadescription, pd.products_keywords FROM products p, products_description pd, tax_rates tr, products_to_categories ptc WHERE p.products_id = pd.products_id AND pd.language_id = 4 AND p.products_id = ptc.products_id AND ptc.categories_id = 73 idem avec la nomenclature de jointure JOIN : SELECT DISTINCT p.products_id, ptc.categories_id, pd.products_name, pd.products_description, CONCAT('http://maboutique.tld/images/',p.products_bimage,',','http://maboutique.tld/images/',p.products_bsubimage1,',','http://maboutique.tld/images/',',','http://maboutique.tld/images/',p.products_bsubimage2,',','http://maboutique.tld/images/',p.products_bsubimage3,',','http://maboutique.tld/images/',p.products_bsubimage4,',','http://maboutique.tld/images/',p.products_bsubimage5) URLimages, p.products_date_added, p.products_date_available, p.products_price, tr.tax_rate, p.products_weight, pd.products_pagetitle, pd.products_metadescription, pd.products_keywords FROM products p LEFT OUTER JOIN products_description pd ON p.products_id = pd.products_id AND pd.language_id = 4 LEFT JOIN tax_rates tr ON p.products_tax_class_id = tr.tax_class_id JOIN products_to_categories ptc ON p.products_id = ptc.products_id AND ptc.categories_id = 73 Bon, je n'ose même pas aborder la question de la catégorie du produit, qui nécessite que l'on passe par une tierce table pour avoir le nom... ce qui est finalement le même problème.Des idées ?Merci pour le coup de pouce ! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now