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.

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é »

23 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

Avatar

leo

février 17th, 2011 à 21 h 30 min

bonjour,

je ne parviens pas à importe le texte de description de produit à partir d’un fichier excel transformer en csv ou en xml

pourriez vous m’aider svp ?

Avatar

sethhenintsoa

juillet 18th, 2011 à 11 h 03 min

Bonjour,

Merci bien pour le tuto, ça va nous aider.
En effet j’ai quelques question, j’ai importé des produits,
et j’arrive à tous les importer mais l’image ne se montre pas alors qu’il est dans la base de données.

si vous pouvez m’aider, Merci

Avatar

ZANOU

août 31st, 2011 à 14 h 48 min

Bonjour, voila il y a plus de 10000 articles que je dois cocher dans Magento catégorie articles a mettre en place, et j’aimerai savoir si il y a une fonction pour que magento me coche automatiquement toutes les cases de catégories d’articles

Merci de me répondre le plus rapidement possible

Avatar

Frédéric Martinez

août 31st, 2011 à 21 h 07 min

@david : Plusieurs images, je n’ai plus l’astuce en tête : séparé par des virgules ? Au pire, se faire son dataflow, et ainsi importer les images en multiples. Pour les prix, il faut essayer avec le séparateur de décimale ‘.’ et non ‘,’

@sethhenintsoa : Les cases sont-elles cochées ?

@Zanou : Dans l’import, il est possible de spécifier les catégories de destination. Sinon après l’import, se positionner sur la catégorie voulue et se mettre sur l’onglet « Produits de la catégorie », choisir « Tous », et sélectionner tous les produits.

Avatar

Arnaud

août 1st, 2012 à 17 h 50 min

Et a partir de quelle interface peut-on importer?
En effet, sur la page des produits, il n’y a nul part d’options d’export/import…

Merci d’avance pour votre retour.

Arnaud

Avatar

Xperian

décembre 21st, 2012 à 16 h 09 min

@david
pour importer plusieurs images, il suffit de dupliquer les lignes dans le fichier d’import pour chaque nouvelle image…

@frédéric
Je pense qu’il y a une petite erreur en début de page, le chemin d’import pour toutes les images produits est « /image ».

@nicolas
8 à 9 fiches par minute, il y a un problème. Déjà si tu as suffisament de mémoire, tu peux indiquer dans ton profil d’import 3 à 10 fiches par lot, ce qui optimise et réduit le temps total, ensuite est-tu sûr de la config mysql optimisée pour magento (en fonction de sa ram dispo), dans my.cnf ?
Il faut éviter d’aller au delà de 512Mo; même avec 16Go de ram…

Avatar

David

décembre 1st, 2014 à 11 h 19 min

Bonjour,

en faisant des recherches sur le net, pour les weee (fpt), j’arrive ici.
On trouve bcq d’exemples etc sur l’import export, mais peu aborde 2 soucis majeurs.

L’import/export de produits configurables, comme dit dans un des coms.
et le format / l’ordre du fichier.
En passant par magmi, dataflow ou import simple, il y a tjs une chose qui bug

Le second les imports/exports des wee tax

En effet, dans mon cas je traite des wee taxes (ecotaxe)
à l’export, j’ai bien mon champ ecotax (tous vides, alors que saisi en BO)
à l’import, forcement n’ayant pas l’info dans le fichier…

Auriez vous des exemples ou modules à utiliser pour ça ?

Avatar

Frédéric Martinez

décembre 12th, 2014 à 10 h 57 min

@David : Je vous conseille d’utiliser http://avstudnitz.github.io/AvS_FastSimpleImport/ pour tous vos imports/exports.

Concernant la Wee Tax, rien de particulier, car c’est un attribut produit, donc mettre le bon code attribut suffit.

Pour l’export, vérifiez que l’attribut est bien dans le flat catalogue.

Avatar

Romain

janvier 22nd, 2015 à 10 h 41 min

Bonjour,

Lorsqu’on a plusieurs images pour un même produit, comment faire lors de l’export pour retrouver l’ensemble de ces images dans notre csv?
Actuellement l’export du csv nous affiche le nom d’une seule image (celle par default).
Merci pour votre aide.

Avatar

DYLCORP

mai 2nd, 2015 à 13 h 15 min

Bonjour à tous la meilleure solution st d’utiliser magmi pour l’import massive de fichier concernant les multiples images faire une champ media_gallery dans ton fichier csv puis separer l’url de tes images par un ; et c’est bon.
Mon problème est qu’après l’import les produits se décuplent. comment faire?

Avatar

Frédéric Martinez

mai 4th, 2015 à 8 h 04 min

@DYLCORP : Normalement, si tu as le même SKU, cela remplace l’ancien produit.
Peut-être qu’il faut modifier un paramètre de config Magmi pour activer ce remplacement.

Avatar

DYLCORP

mai 4th, 2015 à 15 h 00 min

Bonjour @Frédéric Martinez j’ai apprécié votre réponse c’est que après l’import tous se passe bien mon problème c’est que toutes les s’importe bien dans le backoffice mais en frontend seule le small_image et le base image (qui lui se duplique). aidez moi à afficher toutes les images dans le frontend

Avatar

Frédéric Martinez

mai 4th, 2015 à 15 h 53 min

@DYLCORP : Ah je pensais à un duplicate des SKUs et non des images.
Pour les images, il faut mieux distinguer les images qui s’affichent sur le page produit / listing / vignettes et les images de la galerie qui doivent s’afficher en dessous de l’image principale.

Dans le tableau du produit à importer dans MAGMI, il faut bien renseigner les images :

<?php
$import = array(
	'sku' => '...',
	'...' => '...',
	'image'         => '/image1.jpg',
	'small_image'   => '/image2.jpg',
	'thumbnail'     => '/image3.jpg',
	'media_gallery' => '/image2.jpg;/image4.jpg;/image5.jpg'
);
?>

Avatar

DYLCORP

mai 4th, 2015 à 17 h 52 min

@Frédéric Martinez oui mais avez vous vérifié le site que je vous ai envoyé ?
où coller le script que vous venez de me donner . mon fichier dans magmi est très bien renseigné je ne sais pas pourquoi le base image se duplique lorsqu’on fini l’import

Avatar

Frédéric Martinez

mai 5th, 2015 à 7 h 12 min

@DYLCORP : Désolé, je ne peux pas vous aider plus. Je n’ai aucune idée d’où peut venir votre problème, il faudrait intervenir sur votre boutique et je n’ai pas la disponibilité pour ça :/

Le seul et unique lien valable pour vous aider est la documentation officielle de MAGMI sur l’import des images : http://wiki.magmi.org/index.php?title=Image_attributes_processor

A partir de cette page, vous pouvez tout faire.

Bonne continuation ;-)

Formulaire pour Commenter

Si vous en avez besoin, entourez votre code :

PHP : [php]echo $variable[/php]
XML : [xml]<default></default>[/xml]

Je m'appelle Frédéric Martinez.

Je suis Freelance Magento, fondateur de l'agence web e-commerce PH2M et anciennement étudiant en Master MIAGE à Toulouse.

Ce site présente mes réalisations professionnelles, personnelles et universitaires.

Magento Certified Developer Plus

rss_32 twitter_32 Magento

  • Vincent MARMIESSE: Bonjour, Attention depuis Magento 1.9.2.0, les blocs CMS sont en cache ! Cela ne pose pas de pro [...]
  • Java2dev: Bonjour, pour l'Etape 1 a quel niveau on met les codes? dans quel folder et c'est un fichier a edit [...]
  • manuel: Bonjour Frédéric, j'aimerais savoir comment enlever l'option de ( signature obligatoire ) de mon m [...]
  • Arsene: Bonjour a tous, j'aimerais savoir comment créer un module qui propose des options d'assurance su [...]
  • Frédéric Martinez: @Thomas : Il y aura toujours de la perte sur les personnes ne retournant pas sur la page de success. [...]