【问题标题】:issue on Profiles export/import from magento1.4 to magento 1.6配置文件从 magento1.4 导出/导入到 magento 1.6 的问题
【发布时间】:2012-01-25 17:07:44
【问题描述】:

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

【问题讨论】:

  • 你在说什么 products.csv?一个是您自己创建的(以编程方式),还是一个使用 Magento 后端的交互式导出功能创建的?无论如何,至少发布 .csv 文件的标题行(第 1 行)可能会有所帮助。
  • 我在magento后端使用交互式导出导出

标签: magento


【解决方案1】:

您的列名是否重复? 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'));
}

添加一些临时调试代码,您将能够弄清楚您的特定安装为何会引发此错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2012-11-29
    • 2010-09-10
    相关资源
    最近更新 更多