В Magento 1.9 Enterprise (который по существу является версией 1.4 Community Edition), каков правильный способ программно отключить индекс, чтобы он не переиндексировался после каждого обновления продукта?
У нас есть сложная процедура импорта продукта, поэтому мы не можем использовать встроенный импорт каталога.
Установка индексатора в «ручной» режим не позволит автоматически индексировать его при сохранении / редактировании / удалении.
В MAGE_ROOT / shell вы можете найти скрипт под названием indexer.php, который между другими позволяет включать / отключать индексы:
php indexer.php --mode-manual catalog_url php indexer.php --mode-realtime catalog_url
У вас может быть сценарий, который устанавливает все указатели в ручной
Если вы хотите сделать это программно, что-то вроде этого должно работать:
$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(); }
Возможно, вам не придется делать это программно. У меня была аналогичная проблема, когда у меня было около 10 файлов для импорта. Я не мог объединиться, поскольку это был перемещение сайта, а некоторые были иждивенцами других.
Вы можете отключить автоматический индекс, который, если ваш скрипт импорта настроен правильно, будет прослушивать.
Это стоит того:
System -> Index Management Check All Items Change Action to "Change Index Mode" Select "Manual" Save
Надеюсь это поможет.