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