如何在Magmi中列出更新的产品?

时间:2012-12-28 13:57:07

标签: magento magmi

我有一个包含大约13000个SKU的CSV产品列表,我正在使用MAGMI来管理它。

如果我在UPDATE模式下运行MAGMI,它只会更新现有产品并跳过新产品,退出(例如)“info:Skus导入OK:21/21”......

有没有办法知道哪些产品更新了?

我对通过代码感到有些懒惰,所以请耐心等待我...

提前致谢! 圣保罗

2 个答案:

答案 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 西蒙