Astuces de l’import des Produits sous Magento

Dans: Magento

23 juin 2009

L’import automatique des données sous Magento se fait par l’intermédiaire d’un fichier .CSV ou d’un fichier Excel .XLS. Cependant, le mien est de lui donner un fichier .CSV vu ces fichiers sont plus léger que les fichiers .XLS qui contiennent de la mise en forme.

Pour faire un bon import des données, la première chose à faire est d’exporter des données.

En effet, vous créez 3 ou 4 produits avec leurs attributs, les images et les catégories associées que vous exportez. En regardant le fichier .XLS (ou .CSV que vous passez en Excel), vous n’aurez plus qu’à rajouter vos nouveaux produits ligne par ligne.

Cependant, l’import .CSV contient quelque astuces à mettre en place.

Import avec les images

Placer vos images dans /media/import. Dans vos champs dans le fichier .CSV, mettais le lien depuis /media/import.

Exemple :

  1. Vous avez 3 produits abc, def et ghi, avec leur images (abc.jpg, def.jpg, ghi.jpg) que vous placez dans /var/media/
  2. Dans les champs .CSV « Image« , « Thumbnail » et « Small Image« , renseignez /abc.jpg, /def.jpg, /ghi.jpg pour les 3 champs
  3. Au moment de lancer votre fichier .CSV dans l’import de Magento, il va automatiquement déplacer vos images de /media/import vers /media/catalog/product/ dans des dossiers nomnées par les premiers caractères de vos images. Exemple /media/import/abc.jpg se retrouvera dans /media/catalog/product/a/b/abc.jpg
  4. L’import modifiera aussi les champs « Image« , « Thumbnail » et « Small Image« . abc.jpg deviendra /a/b/abc.jpg automatiquement
  5. Les images sont bien ajoutés, cependant des fois, une case « exclure » est cochée par défaut. Exécutez la requête SQL suivante dans votre base de données : UPDATE catalog_product_entity_media_gallery_value SET disabled=0;

Attention, Magento copie une nouvelle version de votre image à chaque upload (abc_1.jpg, abc_2.jpg). Si vous faîtes des tests d’upload, videz les nombreuses images qui se sont accumulées dans /media/catalog/products/

Import avec le status automatiquement activé

Dans le champs de titre du fichier .CSV, indiquez « status » avec comme valeur pour chacun de vos produits : « Activé »

  • Cependant, véfifiez bien que votre fichier est encodé en UTF-8. (Sous notepad++ : Format > Encoder en UTF-8 (Sans BOM) sinon votre accent ne sera pas pris en compte, et Magento détectera « Active » au lieu de « Activé »
  • Remplacez les « Activé » par « Activé »

8 Commentaires pour Astuces de l’import des Produits sous Magento

Avatar

vincent langlard

janvier 4th, 2010 à 20 h 06 min

Et bien merci Fréd, je vois que tu performes dans magento !!
c’est un conseil plus que sympatique, je creuse la solution
pour importer tous les produits de ma future boutique !
Vincent

Avatar

jR

février 3rd, 2010 à 20 h 58 min

Genial, ca explique bien des choses sur le pourquoi du nom bizarre des fichiers.
Merci encore.

Avatar

CapitaineSeb

mars 15th, 2010 à 18 h 34 min

Merci pour les astuces, je mets dans mes favoris Magento ;-)

Avatar

Sorcy

mars 25th, 2010 à 16 h 53 min

Merci pour ces petites astuces.

As-tu eu l’occasion (ou as-tu la volonté / le courage) de te pencher sur les fonctionnalité d’import de façon plus poussée ?

En effet, tu n’est pas sans savoir que lorsqu’on parle de produits simples, tout va bien, mais lorsqu’on aborde les produits configurables, groupés ou pire, les custom products, ça devient difficile de procéder à des imports massifs de produits.

Alors oui, il existe des patchs de code dont le célèbre : http://magentodev.blogspot.com/2009/05/how-to-import-products-with-custom.html qui permettent de prendre en charge les custom products.

Mais peut-être qu’un petit post là-dessus en Français trouverait sa place à merveille ici

La suppression de produits en masse, par l’intermédiaire d’un fichier CSV, serait également une chose très très très utile, pour ne pas avoir à mettre les mains dans le SQL, ni à s’arracher les cheveux dans le back-office.

En outre, pour pimenter ce travail, il pourrait être intéressant de capitaliser tous ces petits patchs en une belle extension open-source french-made sur magentocommerce.com ?!

Avatar

nicolas

mars 27th, 2010 à 19 h 30 min

Merci pour l’info. J’ai des gros soucis de rapidité. Je dois importer plus de 90,000 références. Magento en importe en moyenne 8 à 9 par minutes… je vous laisse imaginer la durée pour tout importer.

Une idée pour accélérer l’import?

A noter que mon fichier csv est clean et alléger … notamment je n’ai pas mis d’info concernant le stock, c’est géré de facon globale à partir du BO.

Avatar

Frédéric Martinez

mars 28th, 2010 à 17 h 39 min

@Sorcy : Comme tu peux le voir, je ne poste plus beaucoup d’articles en ce moment, car j’ai trop de travail :-) Ce qui est bon signe !

Du coup, je n’ai pas le temps de m’embêter avec une extension. C’est très spécifique. Mais si tu veux t’amuser à faire cette extension, fais-toi plaisir… !

@nicolas : Plusieurs solutions pour importer. Soit tu utilises l’import classique de Magento avec un fichier .CSV, soit tu utilises les Web Services, soit tu boucles sur ton fichier et tu créés tes produits à la volée (save()) : http://magentoexpert.co.uk/2009/02/10/creating-magento-products-on-the-fly/.

Soit, l’option la plus rapide, tu t’attaques directement à la BDD, mais avec le modèle EAV, tu n’as pas le droit à l’erreur. C’est de la R&D, c’est possible, mais cela demandera du travail.

Bonne chance :-)

Avatar

david

avril 15th, 2010 à 10 h 22 min

Bonjour,
Comment faire pour importer plusieurs images par produit ?

Avatar

david

avril 15th, 2010 à 10 h 27 min

Autre question désolé, je ne peux éditer l’autre
Le prix apparaît au format date.
Si je met 9,2 j’ai 92 € après import, comment faire

Formulaire pour Commenter

Bienvenue sur mon Site CV

Je m'appelle Frédéric Martinez.

Je suis étudiant en Master MIAGE à Toulouse et Freelance Magento.

Ce site présente mon CV ainsi que mes réalisations professionnelles, personnelles et universitaires.

rss_32 twitter_32

  • Frédéric Martinez: J'avais répondu en privé et oublié le public. 200k produits sous Magento, c'est possible mais à [...]
  • Philip - Dredd: Oui, Magento le supporte. C'est plus au niveau de l'hébergement qu'il faut réfléchir. A la base, [...]
  • Quentin: Je viens de trouver ma réponse, il ne faut pas s'embêter avec le backend!^^ [...]
  • Quentin: Comment pourrais-je utiliser la condition "utilisateur logué" dans un bloc statique à partir du ba [...]
  • OLIVIER MATRAS: bonjour, est ce que 200k articles c'est jouable avec magento? merci pour vos infos cordialement [...]