2011-03-24 16 views
6

En Magento 1.9 Enterprise (que es esencialmente la Edición de comunidad 1.4), ¿cuál es la forma correcta de desactivar el índice programáticamente para que no reindexe después de cada actualización de producto?Magento - Desactivar mediante programación la indexación automática

Tenemos un procedimiento complejo de importación de productos, por lo que no podemos utilizar la importación del catálogo integrado.

Respuesta

32

Configurar el indexador en el modo "manual" evitará que indexe automáticamente en guardar/editar/borrar.

En MAGE_ROOT/Shell se puede encontrar un script llamado indexer.php que, entre otras le permite activar/desactivar los controladores paso a paso:

php indexer.php --mode-manual catalog_url 
php indexer.php --mode-realtime catalog_url 

Usted puede tener un script que establece todos los controladores paso a paso el manual

Si desea hacerlo mediante programación, algo en la línea debería funcionar:

$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(); 
} 
1

Puede que no tenga que hacerlo mediante programación. Tuve un problema similar en el que tenía aproximadamente 10 archivos para importar. No pude combinar, ya que era un movimiento de sitio y algunos dependientes de otros.

Puede desactivar el índice automático, que si su script de importación está configurado correctamente lo escuchará.

Es digno de un tiro:

System -> Index Management 
Check All Items 
Change Action to "Change Index Mode" 
Select "Manual" 
Save 

Espero que esto ayude.

Cuestiones relacionadas