Se volete attivare o disattivare da codice la reindicizzazione automatica di magento (ad esempio se dovete fare modifiche massive e velocizzare i tempi di salvataggio) potete utilizzare il codice qui sotto:
$pCollection = Mage::getSingleton('index/indexer')->getProcessesCollection();
foreach ($pCollection as $process) {
$process->setMode(Mage_Index_Model_Process::MODE_MANUAL)->save();
//$process->setMode(Mage_Index_Model_Process::MODE_REAL_TIME)->save();
}
Per lanciare una reindicizzazione invece potete usare questo codice:
/* @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();
}
Potete anche processare un singolo indice:
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();