Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento-以编程方式禁用自动索引_Php_Magento_Magento 1.4 - Fatal编程技术网

Php Magento-以编程方式禁用自动索引

Php Magento-以编程方式禁用自动索引,php,magento,magento-1.4,Php,Magento,Magento 1.4,在Magento 1.9 Enterprise(本质上是1.4社区版)中,以编程方式禁用索引的正确方法是什么,这样它就不会在每次产品更新后重新编制索引 我们有一个复杂的产品导入过程,因此无法使用内置目录导入。将索引器设置为“手动”模式将阻止它在保存/编辑/删除时自动索引 在MAGE_ROOT/shell中,您可以找到一个名为indexer.php的脚本,该脚本允许您在其他脚本之间启用/禁用索引器: php indexer.php --mode-manual catalog_url php ind

在Magento 1.9 Enterprise(本质上是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

希望这能有所帮助。

当您重新启用索引时,您可能还需要使用$process->reindexAll()重新编制索引;