2011-03-24 64 views
6

在Magento 1.9 Enterprise(實質上是1.4 Community Edition)中,以編程方式禁用索引以便在每次產品更新後都不會重新索引的正確方法是什麼?Magento - 以編程方式禁用自動索引

我們有一個複雜的產品導入程序,所以我們不能使用內置的目錄導入。

回答

32

將索引器設置爲「手動」模式將防止索引器在保存/編輯/刪除時自動編制索引。

在MAGE_ROOT /殼,你可以找到一個名爲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(); 
} 
1

您可能沒有以編程方式做到這一點。我有一個類似的問題,我有大約10個文件要導入。我不能合併,因爲這是一個網站搬遷,有些人是依賴其他人。

您可以關閉自動索引,如果您的導入腳本配置正確,將會收聽。

這是值得一試:

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

希望這有助於。