4
我有一個多商店設置 - StoreA,StoreB和StoreC。和控制器(使用StoreA URL)我編輯產品的範圍內:Magento - 保存產品時未設置「使用默認值」
$_product = new Mage_Catalog_Model_Product();
$_product->load($productId);
$_product->setData('attribute1','somevalue');
$_product->save();
如果我再轉到管理/編輯產品的特定產品,我發現ATTRIBUTE1已正確設置,但是我還發現,如果我在「選擇店鋪視圖」中選擇StoreA,我發現所有「使用默認值」複選框(對於StoreA)都已設置爲false。
問題:
- 如何修改上面的代碼,以便「使用默認值」
- 一旦上面的代碼已被執行(和「使用 的複選框爲StoreA保持真實默認值 值「,StoreA設置爲false),我如何將StoreA的」使用默認值 值「值恢復爲true?
編輯:
新增截圖:
好主意重新工廠模式。我也上傳了截圖。重新 - > updateAttributes,我注意到最後一個參數是商店ID。我認爲這是關鍵 - 我會測試一下。任何想法都是問題的第二部分? – mas 2012-02-15 20:17:31
啊,如果你沒有設置商店ID將是一個問題。這是否解決了問題,還是應該進一步排除故障? – 2012-02-15 21:18:34
謝謝。根據你的回答,我發現你可以使用Mage :: app() - > setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);設置默認商店。這解決了(1)。爲了解決(2),我發現你可以設置$ _product-> setName(false)或$ _product-> setData('attribute',false) - 但鑑於我有很多屬性要設置我試圖使用 - > updateAttributes,但這是給出以下問題:[link](http://stackoverflow.com/questions/9302279/magento-setting-product-attributes-use-default-value-using-updateattributes) – mas 2012-02-15 22:19:25