2016-01-06 5 views
0

Mon problème consiste à obtenir la structure de menu correcte lors de l'importation de mes données.Importation de plusieurs catégories sur des produits uniques

J'utilise Magento 1.9.2.2

Je reçois mes données au format CSV comme ceci:

"sku","Cat1","Cat2","Cat3","Cat4" 
"001","Plumbing","Pressfittings & pipes","Unipipe - MLC","Clutch" 
"002","Tools","Handtools|Pipetools","Pipetools|Pipecutters & Scissors","Plastic scissors" 
"003","Tools|Plumbing","Handtools|Pipetools|Pipes & Fittings","Pipetools|Calibration|Alupex fittings & tubes","Calibration tools|Tools for alupex" 

J'ai fait un petit programme pour dépouiller le "|" et ce qui vient après, de sorte que:

"002","Tools","Handtools|Pipetools","Pipetools|Pipecutters & Scissors","Plastic scissors" 

devient:

"002","Tools","Handtools","Pipetools","Plastic scissors" 

Mais j'aimerais créer toutes les catégories underlaying, donc je reçois aussi cela pour sku 002:

"002","Tools","Pipetools","Pipecutters & Scissors","Plastic scissors" 

Je crois que la structure est utilisée par Magento, mais j'ai du mal à comprendre comment l'importer.

J'ai essayé l'importation normale pour Magento après avoir créé les catégories manuellement, et cela n'a pas fonctionné. J'ai aussi essayé de les créer avec Magmi, mais je ne peux pas non plus faire fonctionner Magmi avec les multiples sous-catégories principales.

Quelqu'un at-il vu ce format de données et a-t-il une idée de la bonne façon de le faire importer dans une structure de menu?

J'ai 2500 principales et sous-catégories ensemble, donc les créer manuellement ne fonctionnera tout simplement pas.

Idées, questions ou commentaires sont les bienvenus! :)

Répondre

0

Le MAGMI « sur la volée importateur de catégorie » va certainement le faire pour vous. Je vous recommande de lire très attentivement les instructions sur le wiki MAGMI: toutes les informations dont vous avez besoin sont là mais je trouve fréquemment que je dois vérifier et relire les détails et les exemples sur le wiki MAGMI.

instructions MAGMI pour télécharger l'installation et le fonctionnement: http://wiki.magmi.org/index.php?title=Main_Page#Download_and_Install_Magmi

instructions MAGMI pour le à la volée importateur de catégorie: http://wiki.magmi.org/index.php?title=On_the_fly_category_creator/importer

Si vous ne l'avez pas utilisé MAGMI avant alors travailler avec un simple CSV pour commencer pour vous assurer que votre installation est correctement configurée et que vous pouvez importer un csv qui crée un produit simple.

Je pense que le principal défi que vous rencontrez est de convertir le format de fichier CSV décrit dans votre question dans un format CSV avec lequel MAGMI peut travailler. Alternativement, vous pouvez écrire du code dans MAGMI pour convertir les données CSV mais je pense que cela pourrait être trop compliqué s'il s'agit d'un processus unique.

Je ne suis pas sûr que je suis la syntaxe de votre exemple CSV, mais si la première chaîne est toujours une catégorie supérieure, puis le symbole de la conduite signifie « sous-catégorie » ENSUIT puis pour

"003","Tools|Plumbing","Handtools|Pipetools|Pipes & Fittings","Pipetools|Calibration|Alupex fittings & tubes","Calibration tools|Tools for alupex"

vous

chercher à faire un MAGMI CSV comme celui-ci

"sku","categories" "003","Tools::1::1::1/Plumbing::1::0::1;;Handtools::1::1::1/Pipetools::1::0::1/Pipes & Fittings::1::0::1;;Pipetools::1::1::1/Calibration::1::0::1/Alupex fittings & tubes::1::0::1;;Calibration tools::1::1::1/Tools for alupex::1::0::1"

Le ::1::1::1 obscur indique is_active, et is_anchorinclude_in_menu respectivement et peuvent être omis.

Ce ne sont pas mes affaires, mais je suis profondément préoccupé par les deux espaces dans l'étiquette de sous-catégorie 'Tools for alupex' (ne pas me lancer sur le Alupex minuscule ou AluPEX)

+0

Merci Malachie, ce fut la solution qui a permis moi. Mes catégories étaient un peu en désordre, donc après quelques réorganisations et des lectures sur les liens que vous avez fournis, Magmi a fait le tour juste parfaitement. – bjarkemonsted

0

Vous devez créer ces catégories par programme, pas possible par l'importation (peut-être via magmi mais je ne sais pas). Placez un script dans votre racine magento et lancez-le. Voici comment vous pouvez procéder (besoins de polissage):

$category = Mage::getModel('catalog/category'); 

$f = fopen($file, "r"); 

$row = 0; 
while (($data = fgetcsv($f, 0, ",")) !== FALSE) { 
    $multiple_categories = explode("|", $data); 
    //save main ones 
    $category->setName($multiple_categories[0]) 
     ->setIsActive(1)      
     ->setDisplayMode('PRODUCTS') 
     ->setIsAnchor(1) 
     ->setAttributeSetId($category->getDefaultAttributeSetId()); //or the id of your attribute set, this is important. 
    $category->save(); 
    unset($category); 
    //now deal with children 
    if(count($multiple_categories) > 1){ 
     i = 1; 
     foreach($multiple_categories as $subcategory){ 
      $category->setName($multiple_categories[i]) 
       ->setIsActive(1)      
       ->setDisplayMode('PRODUCTS') 
       ->setIsAnchor(1) 
       ->setAttributeSetId($category->getDefaultAttributeSetId()); 
      //manage parents now 
      $_category = Mage::getResourceModel('catalog/category_collection') 
       ->addFieldToFilter('name', $multiple_categories[i-1]) 
       ->getFirstItem(); //this needs more work 
      $parentId = $_category->getId(); 
      $parentCategory = Mage::getModel('catalog/category')->load($parentId); 
      $category->setPath($parentCategory->getPath()); 
      $category->save(); 
      unset($category); 
      i++; 
     } 
    } 
    $row++; 
}