在配置文件中从magento1.4导出/导入到magento 1.6的问题

时间:2012-01-25 17:07:45

标签: magento

当尝试将产品从.csv文件(从1.4 magento后端导出)导入magento1.6时,我收到“列名有重复”之类的错误。

1 个答案:

答案 0 :(得分:2)

您的列名是否有重复项? CSV的第一行保留用于产品对象的字段名称(名称,价格等)。 Magento告诉你你的CSV文件格式不正确,因为它检测到列已被包含两次。

发生这种情况有两个原因。第一个是:您实际上有一个重复的列名称。在电子表格程序(Microsoft Excel等)中打开您的文件,并确保没有重复任何列名称(包括空白列名称!)

第二个原因是:文本文件的行结尾

\n  (unix text files, sort-of Mac OS X text files)
\r  (unix text files, Mac OS < 10 text files, sometimes Mac OS X text files)
\r\n (windows text files)

被服务器误解,PHP认为你的整个文本文件长一行。尝试使用不同的行结尾保存csv(适当的文本编辑器中存在一个选项)

最后,Magento在这里抛出此异常

app/code/core/Mage/ImportExport/Model/Import/Adapter/Abstract.php
if (is_array($this->_colNames) && !empty($this->_colNames)) {
    $this->_colQuantity = count($this->_colNames);

    if (count(array_unique($this->_colNames)) != $this->_colQuantity) {
        Mage::throwException(Mage::helper('importexport')->__('Column names have duplicates'));
    }
} else {
    Mage::throwException(Mage::helper('importexport')->__('Column names is empty or is not an array'));
}

添加一些临时调试代码,您将能够找出特定安装导致此错误的原因。