約13000のSKUを含むCSV製品リストがあり、MAGMIを使用して管理しています。
MAGMIをUPDATEモードで実行すると、既存の製品のみが更新され、新しい製品はスキップされ、(例)「info:Skusimported OK:21/21」で終了します。
どの製品が更新されたかを知る方法はありますか?
コードを読むのが少し面倒なので、これについてはしばらくお待ちください...
前もって感謝します!パウロ
MagmiLogの各アイテムのログを出力する基本的なプラグインを作成するだけです。
1)magmirootにファイルを作成します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 Mail Notifierプラグインを試しましたか?これはこれを行うことができるはずです。
php-scriptとcronを介してインポートを管理していると、さらに簡単になります。これについて助けが必要な場合は、私に戻ってきてください。
Cheerz Simon