2013-04-29 47 views
2

我已经创建了一个可用于本地Magento导入(系统/导入/导出/导入)的工作CSV结构。Magento 1.7:导入具有多选属性的产品

以下是我的结构示例,其中包含简单的产品和基于第一种的可配置产品。

"sku","_store","_attribute_set","_product_websites","_type","name","price","special_price","news_from_date","news_to_date","tax_class_id","short_description","description","meta_description","meta_keyword","meta_title","_root_category","_category","has_options","color","talla","coleccion","composition","prestaciones_tecnicas","tejido_tecnico","_links_upsell_sku","image","small_image","thumbnail","status","visibility","weight","qty","is_in_stock","_media_attribute_id","_media_image","_media_lable","_media_position","_media_is_disabled","_super_products_sku","_super_attribute_code","_super_attribute_option" 
"1601127-A-NEGRO/ROJO FUEGO-S",,"CustomAttrs","base","simple","CHALECO NAREM - A-NEGRO/ROJO FUEGO - S","81.95","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHALECO","0","A-NEGRO/ROJO FUEGO","S",,,,,,,,,"1","1","0","1","1",,,,,,,, 
"1601127-A-NEGRO/ROJO FUEGO-M",,"CustomAttrs","base","simple","CHALECO NAREM - A-NEGRO/ROJO FUEGO - M","81.95","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHALECO","0","A-NEGRO/ROJO FUEGO","M",,,,,,,,,"1","1","0","2","1",,,,,,,, 
"1642238-A-NEGRO/ROJO FUEGO-S",,"CustomAttrs","base","simple","CHAQUETA SERKA - A-NEGRO/ROJO FUEGO - S","97.35","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHAQUETA","0","A-NEGRO/ROJO FUEGO","S",,,,,,,,,"1","1","0","2","1",,,,,,,, 
"1642238-A-NEGRO/ROJO FUEGO-M",,"CustomAttrs","base","simple","CHAQUETA SERKA - A-NEGRO/ROJO FUEGO - M","97.35","",,,"0","Blabla blabla","Blabla blabla",,,,"Default Category","MUJER/PRENDA/CHAQUETA","0","A-NEGRO/ROJO FUEGO","M",,,,,,,,,"1","1","0","1","1",,,,,,,, 
"1601127",,"CustomAttrs","base","configurable","CHALECO NAREM","81.95","","2013-04-29 00:00:00","2013-05-29 00:00:00","0","Blabla blabla","Blabla blabla","Blabla blabla","CHALECO,CORTAVIENTOS,REPELENCIA AL AGUA","CHALECO NAREM","Default Category","MUJER/PRENDA/CHALECO","1",,,"CITY CYCLING","",,,,"","","","1","4",,,,"88","","","1","0",,, 
,,,,,,,,,,,,,,,,"Default Category","MUJER",,,,,,,,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,"Default Category","MUJER/PRENDA",,,,,,,,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,,"ACTIVE SOFTSHELL",,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"transpirable",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"stretch",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"costuras flatlock",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"tratamiento anti uv",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"Repelente al agua",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-S","talla","S" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-S","color","A-NEGRO/ROJO FUEGO" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-M","talla","M" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1601127-A-NEGRO/ROJO FUEGO-M","color","A-NEGRO/ROJO FUEGO" 
"1642238",,"CustomAttrs","base","configurable","CHAQUETA SERKA","97.35","","2013-04-29 00:00:00","2013-05-29 00:00:00","0","Blabla blabla","Blabla blabla","Blabla blabla","CHAQUETA,CORTAVIENTOS,REPELENCIA AL AGUA","CHAQUETA SERKA","Default Category","MUJER/PRENDA/CHAQUETA","1",,,"CITY CYCLING","",,,,"","","","1","4",,,,"88","","","1","0",,, 
,,,,,,,,,,,,,,,,"Default Category","MUJER",,,,,,,,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,"Default Category","MUJER/PRENDA",,,,,,,,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,,"ACTIVE SOFTSHELL",,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"transpirable",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"stretch",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"costuras flatlock",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"tratamiento anti uv",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,"Repelente al agua",,,,,,,,,,,,,,,,,, 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-S","talla","S" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-S","color","A-NEGRO/ROJO FUEGO" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-M","talla","M" 
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"1642238-A-NEGRO/ROJO FUEGO-M","color","A-NEGRO/ROJO FUEGO" 

导入工作正常,没有错误。但是会发生一些奇怪的事情:我创建了一些自定义属性。其中一些属性只有一个值可选,但我有两个属性具有多选值,而这两个属性是有问题的(prestaciones_tecnicas & tejido_tecnico)。

导入后,我重新索引,干净的缓存和一切......当我去到一个产品的细节在前端,我看到的每一件事情,除了两个多选属性,其信息不出现确定。我做了一个Zend_Debug :: dump()这些属性,并且是空的。但令人惊讶的是,当我在Magento的管理员处编辑产品时,这些属性显示正确并且选择了相应的值(我在CSV中指出的值)。

更奇怪的是,如果简单地我编辑这些产品之一,并保存它(不改变任何东西),然后这些属性在前端神奇地显示OK!而且我不会改变任何东西!只需编辑并保存!

有什么想法?我有很多产品...并且逐一编辑/保存对我来说不是一个可行的解决方案...

非常感谢!

回答

0

问题是标准的Magento导入需要单独行中的多个select属性的所有选项。您可以在导出正确设置的产品时看到。

不幸的是,这大大降低了与其他软件的兼容性。

不过幸运的是确实有这个插件: http://www.magentocommerce.com/magento-connect/import-products-categories-multiple-images-and-custom-options.html

希望这有助于。祝你好运!

UPDATE:

中有进一步扩展一个小错误,也许只有在多店的网站组合。 您仍然可以导入category_ids(在自述文件中未提及),但导入类别名称时会崩溃。 的错误似乎是在功能_addCategories()在该文件中的某个地方:

\程序\代码\社区\ CapacityWebSolutions \ ImportProduct \型号\转换\适配器\ Product.php 也许有毛病店铺ID。这就是为什么它可能只发生在多商店网站。

不幸的是我不能直接设置这个功能,所以我不得不做一个解决方法。

它不会再创建类别,但可以导入已经设置的类别。 我更换这些线路上面提到的文件95-105:

if (isset($importData['category_ids'])) { 
     $product->setCategoryIds($importData['category_ids']); 
    } 
    /* if category name is in csv file  */ 
    if (isset($importData['categories'])) { 

     $categoryIds = $this->_addCategories($importData['categories'], $store); 
     if ($categoryIds) { 
      $product->setCategoryIds($categoryIds); 
     } 
    } 

有了这个(更换过滤器是特定国家的,当然,也许在MySQL查询attribute_id应该是动态的...):

 // NM5 translate category names in category IDs /////////////////// 
    if (isset($importData['categories'])) { 

     $nm5_cat_names = preg_split('/,/',$importData['categories']); 

     $nm5_read = Mage::getSingleton('core/resource')->getConnection('core_read'); 
     $nm5_cat_table = Mage::getConfig()->getTablePrefix().'catalog_category_entity_varchar'; 
     $originals = array('\'', '"', '\\', ';', '<', '>', '(', ')', '[', ']', '{', '}', '|', '$', '=', '%', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', 'ß', ' - ', ' ', ' ', '_', '.', '?', '!', '³', ',', '„', '“', '+', '-–-', '–-'); 
     $replacements = array('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Ae', 'Oe', 'Ue', 'ae', 'oe', 'ue', 'ss', '-', '-', '-', '-', '', '', '', '3', '-', '', '', '-plus', '-', '-'); 
     $nm5_i = 0; 

     while($nm5_cat_names[$nm5_i] != ''){ 
      $filtered_text = strtolower(str_replace($originals, $replacements, $nm5_cat_names[$nm5_i])); 

      $nm5_results = $nm5_read->fetchAll("SELECT entity_id FROM $nm5_cat_table WHERE value LIKE '$filtered_text' and attribute_id = 51 group by entity_id"); 

      if($nm5_i > 0){ $categoryIds .= ','; } 
      $categoryIds .= $nm5_results[0]['entity_id']; 

      $nm5_i++; 
     } 

     // $categoryIds = $this->_addCategories($importData['categories'], $store); 
     if ($categoryIds) { 
      $categoryIds; 
      $product->setCategoryIds($categoryIds); 
     } 

    }elseif(isset($importData['category_ids'])){ 

     $product->setCategoryIds($importData['category_ids']); 

    } 
    // NM5 translate category names in category IDs /////////////////// 
2

想知道为什么仍然没有人提到MAGMI作为这个问题的解决方案,也是本地magento数据流配置文件的一个很好的选择。对于任何一种magento进口来说,这是一个非常强大的工具。您可以检查它在wiki.magmi.org所有功能

配置的产品可以从刚刚CSV文件的一行来创建很容易,这里有一个例子:

type   configurable_attributes super_attribute_pricing 
configurable size,color    size::L:12;XL:15,color::red:10;green:15 


而多选属性可以被导入的很好,什么是由很多人测试的。 例如:

sku  name  description  price  Size:multiple:1 
T-Shirt1 T-Shirt A T-Shirt   5.00  Small|Medium|Large 
T-Shirt2 T-Shirt2 Another T-Shirt 6.00  XS|S|M|L|XL 

在此示例中将创建2个带自定义选项的产品。自定义选项是多种选择类型的“大小”,并且需要选择(最后的“1”)。 每种产品都有它的尺寸,第一种是小号/中号/大号,第二种是XS/S/M/L/XL。

这只是对2个基本特征的快速提示 - 印象深刻,不是吗?

所以我强烈建议考虑MAGMI作为magento的进口工具。

而且如果考虑支付扩展有一个很好的扩展here,它的周围MAGMI的界面封装还支持导出产品数据magmi格式,不仅进口纯magmi一样。它可以与Google电子表格而不是CSV一起工作,并根据magmi语法将数据直接导入带有标题的csv列。

相关问题