2011-08-12 5 views
6

まず、新しい属性を作成したかったのです。それを「価格要因」と呼んでみましょう。整数値は、管理者コントロールパネルの製品ページから設定できます。ユーザーがカートに商品を追加したときにマジェンタでカスタムメッセージを作成するにはどうすればいいですか?

フロントエンドでユーザーがショッピングカートにアイテムを追加するたびにショッピングバッグにメッセージがポップアップし、「あなたの古い価格はX、新しい価格はY」と表示されます(Xは元の価格ですYは調整後の価格です)

誰かがショッピングカートに何かを追加したら、カスタムメッセージを作成するにはどうすればいいですか?

答えて

12

最初に行う必要があるのは、アイテムがカートに追加されたときに発生したイベントを聞くことです。これはcheckout_cart_add_product_completeと呼ばれ、Mage/Checkout/controllers/CartController.phpに由来します。

ディスパッチされるイベントのシグネチャは次のとおりです。

Mage::dispatchEvent('checkout_cart_add_product_complete', 
    array(
     'product' => $product, 
     'request' => $this->getRequest(), 
     'response' => $this->getResponse() 
    ) 
); 

我々は、製品の変数を介してカートに追加された製品にアクセスすることができます。つまり、あなたの属性に基づいて新しいメッセージを表示する必要があるかどうかを評価できます。


次の手順は、ページにフラッシュメッセージを追加することです。これはセッションを通して制御されます。使用できるメッセージには、成功、エラー、通知の3種類があります。メッセージを追加するのは簡単です:

Mage::getSingleton('core/session')->addSuccess($message); 
Mage::getSingleton('core/session')->addError($message); 
Mage::getSingleton('core/session')->addNotice($message); 
関連する問題