【问题标题】:Magento - Programmatically Disable Automatic IndexingMagento - 以编程方式禁用自动索引
【发布时间】:2011-03-24 14:18:06
【问题描述】:

在 Magento 1.9 Enterprise(本质上是 1.4 社区版)中,以编程方式禁用索引以使其不会在每次产品更新后重新索引的正确方法是什么?

我们有一个复杂的产品导入程序,所以我们不能使用内置的目录导入。

【问题讨论】:

    标签: php magento magento-1.4


    【解决方案1】:

    将索引器设置为“手动”模式将阻止它在保存/编辑/删除时自动索引。

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

    【讨论】:

    • 当您重新打开索引时,您可能还想使用 $process->reindexAll(); 重新索引;
    【解决方案2】:

    您可能不必以编程方式执行此操作。我有一个类似的问题,我有大约 10 个文件要导入。我无法合并,因为这是一个站点迁移,有些依赖于其他。

    您可以关闭自动索引,如果您的导入脚本配置正确,它将收听。

    值得一试:

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 2018-01-09
      • 2013-07-03
      • 2014-01-09
      • 2011-03-17
      相关资源
      最近更新 更多