我很抱歉,如果这个问题是微不足道的,但我一直在努力找到我在这里做错了什么.我试图在商店视图级别更改属性的值,但默认值也会更改,但不应该更改.当然,此属性设置为"store-view-scoped".为了简单起见,我尝试了产品名称.没有成功.
以下是我试过的不成功的测试......
你看到我在做错了吗?
非常感谢.
我的尝试:
$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId(STORE_ID)->setName('new_name')->save();
$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId(STORE_ID)->setStore(STORE_CODE)->setName('new_name')->save();
$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId(STORE_CODE)->setName('new_name')->save();
$product = Mage::getModel('catalog/product')->setStoreId(STORE_ID)->load(PRODUCT_ID);
$product->setName('new_name')->save();
$product = Mage::getModel('catalog/product')->setStoreId(STORE_ID)->load(PRODUCT_ID);
$product->setStoreId(STORE_ID)->setName('new_name')->save();
Run Code Online (Sandbox Code Playgroud)
我甚至尝试在产品型号加载之前添加以下行...
Mage::app()->setCurrentStore(STORE_ID);
Run Code Online (Sandbox Code Playgroud)
Her*_*tin 46
因此,这是在特定商店视图中更改特定产品属性的属性值的完整代码段.产品名称示例:
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId(STORE_ID)->setName('my_new_product_name')->save();
Run Code Online (Sandbox Code Playgroud)
作为一个额外的答案,人们可能有兴趣将属性值更改为默认值.在这种情况下,必须将参数'false'传递给setAttribute:
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId(STORE_ID)->setName(false)->save();
Run Code Online (Sandbox Code Playgroud)
ʍǝɥ*_*ʇɐɯ 12
您需要将当前商店设置为代码块顶部的admin:
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25877 次 |
| 最近记录: |