【发布时间】:2011-03-24 14:18:06
【问题描述】:
在 Magento 1.9 Enterprise(本质上是 1.4 社区版)中,以编程方式禁用索引以使其不会在每次产品更新后重新索引的正确方法是什么?
我们有一个复杂的产品导入程序,所以我们不能使用内置的目录导入。
【问题讨论】:
标签: php magento magento-1.4
在 Magento 1.9 Enterprise(本质上是 1.4 社区版)中,以编程方式禁用索引以使其不会在每次产品更新后重新索引的正确方法是什么?
我们有一个复杂的产品导入程序,所以我们不能使用内置的目录导入。
【问题讨论】:
标签: php magento magento-1.4
将索引器设置为“手动”模式将阻止它在保存/编辑/删除时自动索引。
在 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
希望这会有所帮助。
【讨论】: