我正在努力使用Magmi将约6,000件物品(定期)导入Magento。我几乎所有的东西都按照我需要的方式配置,但我有一个问题。
我需要连接我的.csv文件中的3列以创建“category_ids”列。我正在使用Value Replacer插件,其值如下:
{item.departmentid},{item.classid},{item.subclassid}
这很好用,但我需要使用Generic Mapper插件将此字段映射到另一个字段。这两个函数都是单独工作的,但我需要Value Replacer才能在Generic Mapper之前运行。据我所知,Generic Mapper首先运行。有没有办法可以改变这两个插件的执行顺序?
感谢您的帮助!
Dweeves的更新:
卫生署!在试图解决这个问题时,我完全忽略了这一部分。现在我已经完成了它,我可能需要更多的帮助。现在我只使用Value Replacer插件进行以下设置:
替换属性:category_ids
category_ids的新值:
{{ ValueRemapper::use_csv('/var/www/magmi/category_ids.csv')->map({item.departmentid},{item.classid},{item.subclassid}) }}
它似乎没有像我预期的那样工作,但我是一个系统人而不是PHP程序员。有什么帮助吗?
第二次修改 我使用Value Replacer函数首先将所有内容连接到一个新的“test”列,然后使用Value Replacer Value Mapper函数创建带有映射值的category_ids列。令人困惑,但它运作良好。
答案 0 :(得分:1)
您可以使用Value Replacer插件的ValueRemapper帮助程序来实现此目的。
请参阅Value Replacer Plugin Documentation(ValueRemapper助手部分)
答案 1 :(得分:0)
回答原始问题(如何定义插件运行的顺序)。
根据我的经验,插件按插件文件名的顺序加载。
例如,如果您查看magmi/plugins/base/itemprocessors/importlimiter
,您会注意到该插件的文件名是01_importlimiter.php
。
如果查看genericmapper
插件文件夹,您会发现插件文件名为02_genericmapper.php
。
说到这里,01_importlimiter.php
将在02_genericmapper.php
之前执行。