之前已询问过很多次,但没有正常工作答案。Magento - 将产品属性设置为使用默认值
我有多个商店,一些属性已被覆盖。我想通过脚本将这些属性更改为'使用默认值'。
这里是一个图像示出商店的观点和“使用默认值”复选框 http://dl.dropbox.com/u/3209649/storeviews-and-defaultvalues.png(不允许又发表图片)
在应用程序/代码/核心/法师/ Adminhtml /控制器/目录/ ProductController.php当为任何属性选择“使用默认值”时,setData()与false一起使用。
/**
* Check "Use Default Value" checkboxes values
*/
if ($useDefaults = $this->getRequest()->getPost('use_default')) {
foreach ($useDefaults as $attributeCode) {
$product->setData($attributeCode, false);
}
}
以下代码尝试使用相同的方法将商店1中的商品1的'name'属性设置为'使用默认值'。
require_once '../app/Mage.php';
Mage::app(3);
$product = Mage::getModel('catalog/product')->load(1);
$product->setData('name', false); # as used in ProductController.php
$product->save();
使用
$product->setData('name', 'anything');
正确设置“名称”属性“东西”,但假没有将其设置为“使用默认值”
“使用默认值”是没有存储在数据库中的任何地方,因此在管理界面的控制器中,必须有另一个删除属性行的过程?这里
相关链接 - >http://pastebin.com/raw.php?i=j7fwu9H6 (不允许张贴链接尚未要么)
我很抱歉,但目前还不清楚什么东西被要求在这里。 – 2012-04-25 11:33:01
我已更新它并添加了一个链接到图像。现在有意义吗? – 2012-04-25 12:03:07
您也可以尝试如下所述的SQL方法: http://magento.stackexchange.com/questions/1199/how-to-set-product-attribute-to-use-default-by-sql – WonderLand 2013-03-28 15:49:29