回答:
製品の在庫オプションを更新すると、プログラムで「在庫状況」テーブルのインデックスを再作成できます。
try {
$indexer = Mage::getModel('index/indexer')->getProcessByCode('cataloginventory_stock');
$indexer->reindexEverything();
} catch (Exception $e) {
//Some error handling
}
インデクサーモデルを取得するには、を使用しますMage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below')
。Magentoはいくつかのインデクサーを提供します。プログラムで製品を更新する場合、以下のインデクサーを使用できます。indexer_codeを指定するだけで、指定されたスニペットを変更する必要があります(index_processテーブルを参照)。
また、ロジック/プログラムでmagentoキャッシュを消去できます(製品/カテゴリの更新後にキャッシュを更新する必要があります)。
Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();