【发布时间】:2012-05-06 00:51:21
【问题描述】:
这个问题之前已经问过很多次了,但没有有效的答案。
我有多家商店,并且某些属性已被覆盖。我想通过脚本将这些属性更改为“使用默认值”。
这是显示商店视图和“使用默认值”复选框的图像 http://dl.dropbox.com/u/3209649/storeviews-and-defaultvalues.png(还不能发图片)
在 app/code/core/Mage/Adminhtml/controllers/Catalog/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);
}
}
以下代码尝试使用相同的方法将商店 3 中的产品 1 的“名称”属性设置为“使用默认值”。
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');
正确地将 'name' 属性设置为 'anything' 但 false 未将其设置为 'use default value'
“使用默认值”未存储在数据库中的任何位置,因此在管理界面的控制器中必须有另一个删除属性行的过程?
相关链接在这里 -> http://pastebin.com/raw.php?i=j7fwu9H6 (也不允许发布链接)
【问题讨论】:
-
很抱歉,目前还不清楚这里问的是什么。
-
我已对其进行了更新并添加了图片链接。现在有意义吗?
-
您也可以尝试这里描述的 SQL 方法:magento.stackexchange.com/questions/1199/…
标签: magento mage magento-1.6