2013-08-27 14 views
0

檢索值是很容易的:如何在不加載整個產品模型的情況下更改產品的屬性值?

$itemIsConsolidated = $productResource->getAttributeRawValue($productId, 'my_attr_code', Mage_Core_Model_App::ADMIN_STORE_ID); 

我怎樣才能改變(更新),而無需加載產品型號(catalog/product)並調用setData()

+0

如果你正在更新產品,你應該加載產品模型,如果你使用setData()而沒有加載產品模型,它會認爲它的新數據。 – sudhakar

回答

7

您可以通過模擬從什麼產品格「更新屬性」行動確實做到這一點:

Mage::getModel('catalog/product_action')->updateAttributes(array($productId), array('my_attr_code'=>'Some value here'), 0); 

這裏是如何工作的。 第一個參數是要更新的產品ID的數組。在你的情況下,它是一個ID爲一個數組。
第二個參數是一個數組,其中包含要更改的屬性及其值。您可以在同一時間更改多個屬性,如果你的陣列看起來像這樣

array(
    'some_attr'=>'Some value', 
    'some_other_attr'=>'Some other value' 
) 

第三個參數是你改變保值視圖。 0表示「默認值」。

相關問題