2011-03-24 2 views
6

Dans Magento 1.9 Enterprise (qui est essentiellement l'édition 1.4 de la communauté), comment désactiver l'index par programmation afin qu'il ne soit pas réindexé après chaque mise à jour du produit? Nous avons une procédure d'importation de produit complexe, donc nous ne pouvons pas utiliser l'importation de catalogue intégrée.Magento - Désactiver l'indexation automatique par programmation

Répondre

32

Le réglage de l'indexeur en mode "manuel" l'empêchera d'indexer automatiquement lors de la sauvegarde/édition/suppression.

En MAGE_ROOT/shell, vous pouvez trouver un script appelé indexer.php qui, entre autres, vous permet d'activer/désactiver indexeurs:

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

Vous pouvez avoir un script qui définit tous les indexeurs au manuel

Si vous voulez le faire programatically, quelque chose le long des lignes devrait fonctionner:

$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

vous ne pouvez pas avoir à le faire par programme. J'ai eu un problème similaire où j'avais environ 10 fichiers à importer. Je ne pouvais pas combiner car c'était un déménagement de site et certains étaient dépendants des autres.

Vous pouvez désactiver l'index automatique qui, si votre script d'importation est configuré correctement, sera écouté.

Il vaut le coup:

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

Hope this helps.

Questions connexes