我有一个包含大约 13000 个 SKU 的 CSV 产品列表,我正在使用 MAGMI 来管理它。
如果我在 UPDATE 模式下运行 MAGMI,它只会更新现有产品并跳过新产品,并以(示例)“info:Skus import OK:21/21”退出...
有没有办法知道更新了哪些产品?
我对浏览代码感到有点懒惰,所以请耐心等待我...
提前致谢!保罗
只需创建一个基本插件,为 Magmi 日志中的每个项目输出日志。
1) 在 magmi 根目录下创建文件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) Runtime Infos 窗格现在将列出每个不是新的和更新的项目,如下所示:
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()
方法中使用,您可以根据项目列值编写一些漂亮的逻辑。您还可以使用processItemBeforeId()
它在 Magmi 处理之前更改项目对象。
您是否尝试过 MAGMI 邮件通知插件?这个应该可以做到。
如果您通过 php-script 和 cron 来管理导入,那就更容易了。如果您需要这方面的帮助,请回到我这里;
欢呼西蒙