如何有效地循环产品集和设置属性数据

时间:2013-06-17 08:55:01

标签: magento

我正在尝试批量更新部分产品属性。实际上,我正在使用此代码:

foreach ($outOfStock as $product) {
    $product->setData('attribute',20);
    $product->save();
}

然而,我得到一个PHP 60秒超时,当我检查时,它只有大约15个产品。在我看来,这不是实现这一目标的最有效方式。

批量更新产品的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您的属性是可批量更新的,您可以参考Mage_Adminhtml_Catalog_Product_Action_AttributeController::saveAction()中的相应核心代码,尤其是此方法:

Mage::getSingleton('catalog/product_action')
    ->updateAttributes($productsIds, $attributesData, $storeId);