CartLogicのmoduleプロパティについて
今回はCartLogicのmoduleプロパティを見ます。
moduleはCart03ページで
支払、配送方法やクーポンを選択したものを保持しておくために使います。
選択したモジュールをどのように保持しておくか実際のコードで見てみると
/soyshop/webapp/src/module/plugins/delivery_normal/soyshop.delivery.phpのonSelect内で
$module = new SOYShop_ItemModule(); $module->setId("delivery_normal"); $module->setName("送料"); $module->setType("delivery_module"); //typeを指定しておくといいことがある $module->setPrice($this->getPrice()); $cart->addModule($module);
このように空のSOYShop_ItemModuleオブジェクトを用意し、
セッターで各値を放り込み、
$cart->addModule($module);でCartLogicオブジェクトに放り込む。
ここで入れた値は注文後にSOYShop_Orderオブジェクトのmoduleプロパティに挿入され、
注文時の詳細情報として保持され続けます。
SOYShop_ItemModuleオブジェクトですが、
上の処理で使用したセッター以外に
$module->setIsInclude(false);
$module->setIsVisible(true);
があり、
setIsInclude()の標準の値はfalseで、
trueを入れることで料金は表示できるけど合算には含めない
ということができ、
(たとえば、内税の場合は税額は表示するけど、合計金額には含めないとか)
setIsVisible()はfalseを入れることで、
モジュールは選択したけど、次のページ以降で
カートの中の商品の各種選択には表示させない
ということができます。
このようにモジュールを利用することで、
商品情報以外の加算に関する情報を取り扱うことができるようになります。
2014.05.09 | Comments(0) | Trackback(0)
トラックバック -