Magento需要设置storeview来更新网站范围的属性

时间:2013-09-27 14:51:14

标签: magento

在我更新网站范围的属性之前,我似乎必须设置商店视图 - 这是正确的吗?

我的代码:

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();

1 个答案:

答案 0 :(得分:1)

是。那是对的。这是出于性能原因的前端。通常您不会从前端保存产品。 See a detailed explanation of why is this needed
但你不需要这样做。我很慢,资源消耗很大。尝试保存它:

Mage::getSingleton('catalog/product_action')
    ->updateAttributes(array(123), array('somattribute'=>'abc'), 1);

第一个参数是带有产品ID的数组 第二个是一个包含要更新的属性代码和值的数组 第三个是完成更新的商店标识。

这种方法更快。