Comment importer facilement des valeurs d’attribut dans Magento : le module gratuit

importer-valeurs-attributs-magento
Lors d’une migration de site Magento, une des étapes est de réintégrer le catalogue produits. Cela passe par les descriptifs, les images, … mais aussi les attributs produit. Pourquoi parler des attributs produit ? Nativement, Magento permet de faire des imports/exports de produits, et de créer des produits à la volée, cependant il ne peut pas créer de valeurs d’attributs à la volée.

Un petit exemple :

Je possède l’attribut « color », et comme valeurs Bleu, Vert, Rouge. Dans le cas où j’ai besoin de créer 100 valeurs différentes (Rouge, Violet, Motif léopard, Motif zebré, …) ça pose problème, et encore plus si j’ai d’autres attributs comme la marque par exemple.

Pour vous faire gagner un peu de temps et éviter plusieurs centaines de copier/coller, ce petit module malheureusement pas assez connu vous permet de les importer facilement.

Comment ça marche ?

Une fois avoir installé le module, vous allez créer un fichier .csv de la façon suivante :
– le nom du fichier se décompose en 2 : [id_de_l’attribut]_[code_de_l’attribut].csv
On retrouve l’id de l’attribut dans l’URL de modification d’attribut, ex. : http://votresite/index.php/admin/catalog_product_attribute/edit/attribute_id/76/ . On a donc des noms de fichier de type 76_color.csv .

– à l’intérieur, il est nécessaire d’écrire le mot « admin » sur la première ligne (quelque soit l’attribut), et ensuite une valeur par ligne. Dans le cas où vous avez une même valeur présente plusieurs fois, elle ne sera importée qu’une fois. Idem si vous avez déjà la valeur « Bleu » dans votre base de données et qu’elle est présente dans votre fichier, elle ne sera pas réimportée.

– exécuter l’import de valeurs en accédant à l’URL : http://votresite/ImpAttributes.php

Valeurs avec apostrophes (simple quote)

Dans le cas où vous avez des valeurs avec des apostrophes, cela va stopper l’import de valeurs. Vous pouvez résoudre ce problème en surchargeant le fichier app/code/local/Mage/Eav/Model/Import.php

if (is_array($row))
$whereParam = "('" . implode(addslashes($row), ",") . "')";
else if (strlen($row))
$whereParam = "('" . addslashes($row) . "')";

Ce module a été développé par l’auteur du blog Mist-Labs.com.

Étiquettes : , , ,

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :