0

我正在尝试将以下代码与最新的 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_stock或随后的任何其他字段qty都没有被导入到数据库中。

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

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

现在is_in_stock得到更新,但qty没有。

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

你能分享更新的代码吗?

谢谢你。

4

2 回答 2

0

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

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

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

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

于 2012-08-13T13:40:08.650 回答
0

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

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

于 2016-12-22T23:36:48.700 回答