Magento - 批量更新库存水平失败

时间:2012-08-13 05:13:31

标签: magento stocks

我正在尝试使用以下代码与最新的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没有。

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

您能分享更新的代码吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

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

fgetcsv()函数默认使用常规(" Shift + 2 )双引号作为机箱分隔符。

如果您确实将CSV文件中的CSV行1:1复制到此帖子中,每行最多包含三个不同的机箱分隔符(“, ” and "),则{{1} }没有机会正确返回字段值。

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

答案 1 :(得分:0)

请记住,根据您的操作系统,行结尾并不总是相同。 Windows编辑器有一个讨厌的习惯,就是在每行的末尾添加一个额外的回车符(当我在C ++中为这种类型的工作编写Linux解析器时,这很难学习)。最好通过使用Notepad ++之类的东西检查你的csv,看看每条记录末尾的内容。

我建议使用Magmi进行简单的更新。设置需要花费一些精力(但是有非常可靠的文档来指导您完成整个过程),但是一旦完成,就会快速,稳定并包含许多额外的插件,您可以使用这些插件获得更多功能而不仅仅是库存更新未来。