magento - 在商店 View 级别以编程方式更改产品属性

标签 magento

如果这个问题是微不足道的,我很抱歉,但我一直在努力寻找我在这里做错了什么。我正在尝试更改商店 View 级别的属性值,但默认值也已更改,而它不应该更改。当然,这个属性被设置为“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();

我什至尝试在产品模型加载之前添加以下行...
Mage::app()->setCurrentStore(STORE_ID);

最佳答案

因此,这是更改特定商店 View 上特定产品属性的属性值的完整代码段。产品名称示例:

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

作为额外的答案,人们可​​能有兴趣将属性值更改为默认值。在这种情况下,必须将参数 '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();

关于magento - 在商店 View 级别以编程方式更改产品属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6614700/

相关文章:

mysql - 如何在 magento 中执行大型 sql 查询?

magento - 哪个 magento 表包含产品图像名称?

magento - 如何将选项卡添加到销售订单管理页面?

forms - 管理面板 magento 的表单操作问题

url - 由于可能的配置错误,请求超出了 10 个内部重定向的限制

php - 添加 jQuery,并在头部顶部添加一个 block

magento - 从“我的帐户”中删除导航链接

magento - 向 Magento 产品添加图像属性

magento - 获取 bundle 产品的单个选项 ID

api - magento 访问被拒绝