我有一个包含大约13000个SKU的CSV产品列表,我正在使用MAGMI来管理它。
如果我在UPDATE模式下运行MAGMI,它只会更新现有产品并跳过新产品,退出(例如)“info:Skus导入OK:21/21”......
有没有办法知道哪些产品更新了?
我对通过代码感到有些懒惰,所以请耐心等待我...
提前致谢! 圣保罗
答案 0 :(得分:3)
只需创建一个基本插件,输出Magmi日志中每个项目的日志。
1)在magmi root plugins/extra/itemprocessors/basicitemlogger/basicitemlogger.php
2)打开文件并粘贴以下内容
<?php
/**
* Class BasicItemLogger
* @author Axertion
*
* Returns basic SKU for item in the Magmi output log.
*/
class Magmi_BasicItemLogger extends Magmi_ItemProcessor
{
public function getPluginInfo()
{
return array(
"name" => "Basic Item Logger",
"author" => "Axertion",
"version" => "0.0.1",
"url"=> "http://axertion.com"
);
}
static public function getCategory()
{
return "Input Data Preprocessing";
}
public function getPluginParams($params)
{
}
public function initialize($params)
{
}
public function processItemAfterId(&$item,$params)
{
if($params['new'] != 1)
{
$this->log("Item {$item["sku"]} has been updated.", "info");
}
return true;
}
}
3)在Magmi UI中,转到Configure Current Profile
部分。启用Basic Item Logger v0.0.1
并点击Update Profile
。
4)“运行时信息”窗格现在将列出每个不是新项目并且已更新的项目,如下所示:
Basic Item Logger v0.0.1 - Item 123253221 has been updated.
Basic Item Logger v0.0.1 - Item 520448042 has been updated.
Basic Item Logger v0.0.1 - Item 606852342 has been updated.
Basic Item Logger v0.0.1 - Item 955884964 has been updated.
此外,您可以轻松修改插件代码(这是非常基本的)以写入简单的日志文件。 Magmi允许您访问整个项目对象。您可以使用$item['column_name']
方法中的processItemAfterId()
,根据项目列值编写一些漂亮的逻辑。在Magmi处理之前,您还可以使用processItemBeforeId()
更改项目对象。
答案 1 :(得分:0)
您是否尝试过MAGMI邮件通知程序插件?这个应该能够做到这一点。
如果你通过php-script&amp;管理导入会更容易。 cron的。如果您需要帮助,请回复我;
Cheerz 西蒙