2011-07-08 6 views
1

私はカスタムMagento製品タイプクラスを構築しています。ユーザーがこの製品タイプのアイテムをカートに追加すると、そのアイテムに特定のデータを関連付ける必要があります。カスタムオプションは、情報がユーザーから隠されている必要があるという事実を除いて、このデータを格納するためにはうまくいくでしょう。カスタム商品タイプ - 非表示のカスタムオプションまたはデータフィールド

私は、何らかの隠しカスタムオプションを作成する必要があるか、何らかの形で別のデータフィールドを製品に追加する必要があると考えています。私はこれをどうお勧めしますか?

はこのように機能を追加するには、カスタム製品のモデルでは、
ベン

+0

私はこの質問が回答されて知っている、しかし、私はあなたのアプリケーションに興味があります。あなたは例を挙げていただけますか?ありがとう。 –

+0

これは、Magentoの標準カスタムオプションが機能的に不十分であったような複雑なオプションを持つアイテム用です。 –

答えて

1

ありがとう:

public function prepareForCart(Varien_Object $buyRequest, $product = null) 
{ 
    $buyRequest->setCertainData(...); 
    return parent::prepareForCart($buyRequest, $product); 
} 

これは努力せずにカスタムオプションの結果として、「特定のデータ」を保存しますオプションの作成一度それはあなたが後でretrieve itとすることができ、注文の項目の「製品オプション」に引き継がれます命じ:

// $item is a Mage_Sales_Model_Order_Item 
$item->getProductOptionByCode('certain_data'); 
+1

Hum ... MagentoはprepareForCartメソッドを呼び出すようではありませんでした。 –

+0

これは珍しいことです。私は首尾よくそれを使用して余分な製品データを保存し、Magentoの既存の製品タイプの一部にもその機能があります。 – clockworkgeek

+0

なぜ私のコードのprepareForCartが呼び出されなかったのかを知りたいときには、これをさらに掘り下げたいと思います。 –