2012-02-15 9 views
4

私はマルチストアのセットアップがあります。StoreA、StoreB、StoreCです。そして、次のように、私は製品を編集しています(StoreAのURLを使用して)コントローラ内:Magento - 「デフォルト値を使用」を設定せずに製品を保存

$_product = new Mage_Catalog_Model_Product(); 
$_product->load($productId); 
$_product->setData('attribute1','somevalue'); 
$_product->save(); 

私は、その特定の製品の管理/編集製品に行けば、私はattribute1のが正しく設定されていることがわかりBUTまた、「Choose Shop View」でStoreAを選択すると、StoreAの「Use Default Value」チェックボックスがすべてfalseに設定されていることがわかりました。

質問:「使用デフォルト値」StoreAため チェックボックスが一度

  • は、上記のコードが実行(および「使用されてきたことは事実残るので、私は上記のコードを変更するにはどうすればよい

    1. StoreAがfalseに設定されている場合は「 値」)、StoreAの場合は「Use Default 値」の値をtrueに戻すにはどうすればよいですか?

    編集:

    を追加しましたスクリーンショット:enter image description here

  • 答えて

    1

    私はあなたが見ている「を使用デフォルト値」チェックボックスに完全に明確でないんだけど、私は気づいた二つのことがあります。

    $_product = new Mage_Catalog_Model_Product(); 
    

    は、Magentoのでは標準である、​​を使用します:

    $_product = Mage::getModel('catalog/product'); 
    

    自体は問題ではないこと、ファクトリパターン

    あなたのコードを使用して

    しかし、それは何かを覚えておくことです。

    唯一の製品は、あなたが唯一の特定の属性を保存している場合、それはより速くなり、

    次の属性(および潜在的にあなたの問題を避けるため)だけその属性を更新する場合の更新。これと同じように:

    $attribute = array('attribute_code' => 'attribute_value'); 
    
    Mage::getSingleton('catalog/product_action') 
          ->updateAttributes($_product->getId(), $attribute, 0); 
    

    Reference for the updateAttributes() method.ここに私の推論はそれだけで特定の属性の可能なデフォルト値は、製品全体を保存することで追加されていて、ではないということです。

    これで解決できない場合は、おそらくあなたが見ているもののスクリーンショットが問題を視覚化するのに役立ちます。

    +0

    ファクトリパターン私もスクリーンショットをアップロードしました。 Re - > updateAttributes、私は最後のparamが店舗IDであることに気づいています。私はこれが鍵だと思う - 私は試してみる。どんなアイデアでも問題の2部になっていますか? – mas

    +0

    ああ、問題となる店舗IDを設定していない場合。それで解決したのか、さらにトラブルシューティングする必要がありますか? –

    +0

    ありがとうございます。あなたの答えに基づいて、Mage :: app() - > setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);を使用することができます。デフォルトストアを設定します。これは(1)を解決する。解決するには、$ _product-> setName(false)または$ _product-> setData( 'attribute'、false)を設定できることがわかりましたが、設定しようとする属性がたくさんあるので - > updateAttributesを使用しますが、これは次の問題を引き起こしています:[link](http://stackoverflow.com/questions/9302279/magento-setting-product-attributes-use-default-value-using-updateattributes) – mas

    関連する問題