これは以前に何度も尋ねられましたが、有効な答えはありません。
複数の店舗があり、一部の属性が上書きされています。これらの属性をスクリプトで「デフォルト値を使用」に変更したいと考えています。
これは、ストアビューと「デフォルト値を使用」チェックボックスを示す画像です http://dl.dropbox.com/u/3209649/storeviews-and-defaultvalues.png (まだ画像の投稿は許可されていません)
app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.phpでは、任意の属性に対して「デフォルト値を使用」が選択されている場合、2 番目の引数として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 の 'name' 属性を 'use default values' に設定しようとします。
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' に設定しません
「Use Default Value」はデータベースのどこにも保存されていないため、管理インターフェイスのコントローラー内に属性行を削除する別の手順が必要ですか?
関連リンクはこちら -> http://pastebin.com/raw.php?i=j7fwu9H6 (リンクの投稿もまだ許可されていません)