在我更新网站范围的属性之前,我似乎必须设置商店视图 - 这是正确的吗?
我的代码:
Mage::app('admin');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product');
$product->load(123);
$product->setStoreId('1'); // without this line the attribute is not updated
$product->setSomeattribute("abc");
$product->save();
答案 0 :(得分:1)
是。那是对的。这是出于性能原因的前端。通常您不会从前端保存产品。 See a detailed explanation of why is this needed。
但你不需要这样做。我很慢,资源消耗很大。尝试保存它:
Mage::getSingleton('catalog/product_action')
->updateAttributes(array(123), array('somattribute'=>'abc'), 1);
第一个参数是带有产品ID的数组 第二个是一个包含要更新的属性代码和值的数组 第三个是完成更新的商店标识。
这种方法更快。