我有一个流程可以更新数据库中的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();
}
你能帮忙改进吗?
亲切的问候!
答案 0 :(得分:0)
尝试将索引流程设置为“更新手动”。默认magento每次对产品进行更改时都会重新索引网站,为您的任务添加另一个流程。如果您将其设置为“手动更新”,则流程可能会更快。