0

我有一个流程可以更新数据库中的 Magento 股票和价格。但我真正需要做的是在开始更新之前将价格和库存都设置为 0。现在我有以下代码,它可以工作,但是太慢了。

set_time_limit(0);
ini_set('memory_limit', '1024M');
ini_set('display_errors', 1);

require_once('app/Mage.php');
Mage::app();
$product = Mage::getModel('catalog/product')->getCollection();
foreach ($product as $key => $valor) {
   $valor->setPrice(0);
   $valor->save();
}


$stock = Mage::getModel('cataloginventory/stock_item')->getCollection();
foreach ($stock as $key) {
    $key->setQty(0);
    $key->setData('is_in_stock', 1);
    $key->save();

}

你能帮我改进一下吗?

亲切的问候!

4

1 回答 1

0

尝试将索引过程设置为“手动更新”。默认情况下,每次您对产品进行更改时,magento 都会重新索引站点,为您的任务添加另一个过程。如果您将其设置为“手动更新”,则该过程可能会更快。

于 2013-11-12T19:29:23.797 回答