如何更改Magmi插件的执行顺序?

时间:2013-05-01 20:58:02

标签: magento magmi

我正在努力使用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列。令人困惑,但它运作良好。

2 个答案:

答案 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之前执行。