Как известно, сценарий load()/setData()/save() запускает переиндексацию. p>
Я изучил метод updateAttributes в Mage_Catalog_Model_Product_Action, но думаю, что он также запускает переиндексацию продукта.
Код: Выделить всё
/**
* 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;
}
Подробнее здесь: https://stackoverflow.com/questions/102 ... er-reindex
Мобильная версия