是否可以在不触发重新索引的情况下更新产品属性?
众所周知,load()/setData()/save() 场景会触发重新索引。
我已经查看了“Mage_Catalog_Model_Product_Action”中的“updateAttributes”方法,但我认为它也会触发产品重新索引。
/**
* Update attribute values for entity list per store
*
* @param array $productIds
* @param array $attrData
* @param int $storeId
* @return Mage_Catalog_Model_Product_Action
*/
public function updateAttributes($productIds, $attrData, $storeId)
{
$this->_getResource()->updateAttributes($productIds, $attrData, $storeId);
$this->setData(array(
'product_ids' => array_unique($productIds),
'attributes_data' => $attrData,
'store_id' => $storeId
));
// register mass action indexer event
Mage::getSingleton('index/indexer')->processEntityAction(
$this, Mage_Catalog_Model_Product::ENTITY, Mage_Index_Model_Event::TYPE_MASS_ACTION
);
return $this;
}
'// register mass action indexer event' 下的代码似乎触发了索引器操作。