当尝试将产品从.csv文件(从1.4 magento后端导出)导入magento1.6时,我收到“列名有重复”之类的错误。
答案 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'));
}
添加一些临时调试代码,您将能够找出特定安装导致此错误的原因。