0

既存の製品の説明を更新しようとしています。ただし、デフォルト値を変更せずに、特定の StoreView の説明のみを更新したいと考えています。

これまでの私のコード:

<?php    
$product = Mage::getModel('catalog/product')->load(42);
$product
    ->setStore(3)        //StoreView #3 is specific for english language
    ->setData(array(
        'name' => 'English name',
        'short_description' => 'English short desc',
        'description' => 'English desc'
    ))
    ->save();
?>

実行後、製品のデフォルト値の説明と名前が変更されました。バックエンドで製品を開いて英語の StoreView を選択すると、説明フィールドの [デフォルトを使用] チェックボックスがオンになっています。

ここで何が欠けていますか?

4

1 に答える 1

2

商品をロードする前にストア ID を設定する必要があります。あなたの場合、製品の属性「店」を値3に設定しました。試してください:

$product = Mage::getModel('catalog/product')->setStoreId(3)->load(42);
$product->setData(
    ...
于 2013-01-30T17:25:15.710 に答える