2016-01-06 6 views
0

Моя проблема заключается в получении правильной структуры меню при импорте моих данных.Импорт нескольких категорий в отдельные продукты

Я использую Magento 1.9.2.2

Я получаю мои данные в формате CSV, как это:

"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" 

Я сделал небольшую программу для стирают «|» и что происходит после того, как, так что:

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

становится:

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

Но я хотел бы, чтобы создать все нижележащие категории, поэтому я также получаю это для SKU 002:

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

Я считаю, что структура каким-то образом используется Magento, но мне трудно понять, как ее импортировать.

Я попытался выполнить обычный импорт для Magento после создания категорий вручную, и это не сработало. Я также попытался создать их с Magmi, но я не могу заставить Magmi работать с несколькими основными и подкатегориями.

Кто-нибудь видел этот формат данных и подскажет в правильном направлении, как его импортировать в структуру меню?

У меня есть 2500 основных и подкатегорий вместе, поэтому их создание вручную просто не будет работать.

Идеи, вопросы и комментарии приветствуются! :)

ответ

0

MAGMI "на лету категории импортера будет, конечно, сделать это для вас. Я рекомендую вам ознакомиться с инструкциями на вики MAGMI очень тщательно: вся информация, в которой вы нуждаетесь, есть, но я часто нахожу, что мне приходится дважды проверять и перечитывать детали и примеры на вики MAGMI.

MAGMI инструкции для загрузки установки и запуска: http://wiki.magmi.org/index.php?title=Main_Page#Download_and_Install_Magmi

MAGMI инструкции для на лету категории импортер: http://wiki.magmi.org/index.php?title=On_the_fly_category_creator/importer

Если вы не использовали MAGMI раньше работать с простой CSV, чтобы начать с чтобы ваша установка была настроена правильно, и вы можете импортировать csv, который создает простой продукт.

Я думаю, что главная задача, с которой вы сталкиваетесь, - преобразовать формат CSV-файла, описанный в вашем вопросе, в формат CSV, с которым может работать MAGMI. В качестве альтернативы вы можете написать код в MAGMI для преобразования CSV-данных, но я думаю, что это может быть слишком сложно, если это одноразовый процесс.

Я не уверен, что я следую синтаксису вашего примера CSV, но если первая строка всегда высшая категория, а затем означает символ трубы «подкатегория следующим образом», то для

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

вам стремятся сделать MAGMI CSV как этот

"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"

неясного ::1::1::1 указывает is_active, is_anchor и include_in_menu соответственно и могут быть опущены.

Это не мое дело, но я глубоко обеспокоен два пробелов в ярлыке подкатегории 'Tools for alupex' (не начинай меня на строчном Alupex или AluPEX)

+0

Спасибо Малахии, это было решение, которое помогло меня. Мои категории были немного испорчены, поэтому после некоторой переустановки и чтения ссылок, которые вы предоставили, Магми отлично справился с этим. – bjarkemonsted

0

Вам необходимо создать эти категории программно, невозможен путем импорта (возможно, через magmi, но я не знаю). Поместите сценарий в свой корень пурпурного и запустите его. Это, как вы могли бы продолжить (потребности полировки):

$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++; 
} 
Смежные вопросы