Magento - 使用自定义源模型导入属性

时间:2013-03-11 14:17:45

标签: magento import attributes

我遇到了导入具有自定义源模型的产品属性值的问题(因此在属性编辑页面中没有可见选项)。 只是它不能使用选项ID值或选项标签。

当我尝试使用此属性导出产品时,出现错误

Invalid option ID specified for ceneo_category_id (2278), skipping the record. (Line 1, SKU: ...)

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

我想我刚遇到同样的问题:

  1. 使用自定义源模型创建了自定义multiselect属性 对于产品。
  2. 标签是'人类可读',价值是字母数字 代码。
  3. 在csv产品导入文件中使用了字母数字代码。
  4. 尝试使用Magento导入来加载产品 属性。
  5. 出现错误:行中的'test_attr'值无效:1
  6. 经过一些调试后,这似乎是因为: - Mage_ImportExport_Model_Import_Entity_Abstract#isAttributeValid(..)报告属性值无效(案例'multiselect'行)。 - 这是因为它正在检查csv文件(字母数字代码)中的值,并发现它不在此属性的有效选项列表中。这是因为其有效选项列表包含标签。 - 选项列表包含标签而不是值/代码的原因是因为在 Mage_ImportExport_Model_Import_Entity_Abstract#getAttributeOptions(..)中它决定使用标签,因为该属性不在属性数组中该值应该用于。此数组在 Mage_ImportExport_Model_Import_Entity_Abstract 中声明:

    protected $_indexValueAttributes = array(
        'status',
        'tax_class_id',
        'visibility',
        'enable_googlecheckout',
        'gift_message_available',
        'custom_design'
    );
    

    所以,答案是在csv文件中使用属性的标签。或者覆盖 Mage_ImportExport_Model_Import_Entity_Abstract ,将您的属性放入属性数组中,在产品导入期间,该属性数组应该是值,而不是标签。