以下は、各インデックスを再インデックスします。
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
for ループで ID をハードコーディングするのではなく、Magento コレクション モデルを使用して各インデックスをロードすることもできます。
/* @var $indexCollection Mage_Index_Model_Resource_Process_Collection */
$indexCollection = Mage::getModel('index/process')->getCollection();
foreach ($indexCollection as $index) {
/* @var $index Mage_Index_Model_Process */
$index->reindexAll();
}
ただし、価格だけを再インデックスする場合は、ID は 2 です
$process = Mage::getModel('index/process')->load(2);
$process->reindexAll();
関数 getProcessByCode を次のように呼び出すこともできます。
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();