Magento - 库存水平的大规模更新失败



我正在尝试将以下代码与最新的Magento V1.7.1一起使用:

http://www.sonassi.com/knowledge-base/magento-kb/mass-update-stock-levels-in-magento-fast/

我从 CSV 文件更新库存数量。

它适用于以下字段:

"sku","qty"
"prod1","11"

但是,如果存在任何其他字段,则它不起作用。

我试过了:

"sku","qty","is_in_stock" 
"prod1","11","1"

然后qty会更新,但is_in_stockqty后面的任何其他字段都不会导入到数据库中。

我尝试切换字段并尝试以下操作:

"sku","is_in_stock","qty"
"prod1","1","11"

现在is_in_stock更新了,但qty没有。

说明说至少使用两个加上列出的任何其他字段,但它不起作用。

你能分享更新的代码吗?

谢谢。

我不知道

提到的导入扩展,但很可能它会像Magento一样使用fgetcsv()调用来读取CSV文件。

默认情况下,fgetcsv()函数使用常规("Shift+2)双引号作为外壳分隔符。

如果您真的将 CSV 行 1:1 从 CSV 文件复制到这篇文章中,每行最多包含三个不同的外壳分隔符 ( “, ” and " ),那么fgetcsv()没有机会正确返回字段值。

要解决此问题,只需将CSV文件中的所有双引号替换为常规双引号,然后保存并再次导入。

请记住,根据您的操作系统,行尾并不总是相同的。Windows编辑器有一个令人讨厌的习惯,即在每行末尾添加一个额外的回车符(当我在C++为此类工作编写Linux解析器时,我学到了这一点)。最好使用记事本++之类的东西检查您的csv,以查看每条记录末尾的内容。

我建议使用 Magmi 进行简单的更新,例如。设置需要一点努力(但有非常可靠的文档来引导您完成整个过程),但一旦完成,它是快速、稳定的,并且包含许多额外的插件,您可以在未来使用它们来获得更多功能,而不仅仅是库存更新。

最新更新