質問 > フロント機能 > dtb_orderテーブルにポイント割引金額を登録したい。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seike |
投稿日時: 2012/10/15 12:35
対応状況: −−−
|
常連 登録日: 2012/7/19 居住地: 投稿: 46 |
dtb_orderテーブルにポイント割引金額を登録したい。 いつも参考にさせていただいています。
EC-Cubeのポイント値引きは1ポイント=1円で固定ですが、 顧客のポイント保有高により1ポイントあたりの値引き額を 2円、3円と増やすような仕組みにしようとしています。 dtb_order と dtb_order_tempテーブルに point_discount というフィールドを 追加したのですが、受注情報を登録するのは どこのプログラムを修正すればいいのか、教えていただけないでしょうか。 とりあえず、下記の2カ所を修正したら、dtb_order テーブルに登録することはできました。 ? data/class/SC_CartSession.phpの calculate の引数に $results['point_discount'] を追加。 ? data/class/pages/shopping/LC_Page_Shopping_Confirm.php の $arrCalcResults = $objCartSess->calculate の引数に $arrOrderTemp['point_discount'] を追加。 しかし、dtb_order_temp テーブルには登録できていないようです。 その他に、修正しなければいけないところはあるのでしょうか。 ---------------- ----------------------------------------------- [EC-CUBE]:2.12.2 [OS]:Debian Linux [PHP] PHP 5.3.3 [データベース] MySQL 5.1.49 [サーバ] 自前 ----------------------------------------------- |
ゲスト |
投稿日時: 2012/10/16 17:17
対応状況: −−−
|
Re: dtb_orderテーブルにポイント割引金額を登録したい。 引用:
? data/class/pages/shopping/LC_Page_Shopping_Confirm.php の $this->arrFormの['point_discount']に、しかるべき値が入っていて、 function saveOderTemp(..., $params, ...){} 内の foreach で、$sqlval[$key]:$sqlval['point_discount'](?) に、しかるべき値が入っていれば、ご希望のデータ格納になると思うのですが、 どこかで、値の引き継ぎが、途絶えているのかもしれません。。。 http://www.kudzilla.com/~hic/eccube-dev/image/saveOrderTemp.png PWD/ID:hic/Ringo |
|
ゲスト |
投稿日時: 2012/10/17 12:32
対応状況: −−−
|
Re: dtb_orderテーブルにポイント割引金額を登録したい。 参考になるかどうか、、、
と、いう様に、return前に$results['point_discount'] = 1234; と、試しに、固定値を入れてみたところ、 「dtb_order と dtb_order_tempテーブルのpoint_discount」 に、1234が格納されました。。。 |
|
seike |
投稿日時: 2012/10/18 16:21
対応状況: −−−
|
常連 登録日: 2012/7/19 居住地: 投稿: 46 |
Re: dtb_orderテーブルにポイント割引金額を登録したい。 Ringo さん、教えていただいてありがとうございます。
早速、試してみます。 結果はご報告します。 |
seike |
投稿日時: 2012/10/19 7:58
対応状況: −−−
|
常連 登録日: 2012/7/19 居住地: 投稿: 46 |
Re: dtb_orderテーブルにポイント割引金額を登録したい。 試してみました。
Ringoさんの言われる通り、 dtb_order と dtb_order_temp テーブルにpoint_discountカラムを追加た後、 data/class/SC_CartSession.php の function calculate に results['point_discount']; を追加してやるだけで dtb_order と dtb_order_temp テーブルに登録されるのですねぇ。 後は、「ご入力内容のご確認」画面のテンプレート(confirm.tpl)の「値引き(ポイントご使用時)」に <!--{$arrForm.point_discount|number_format|default:0}--> を指定するだけでした。 マイページの「購入履歴詳細」画面のテンプレート(history.tpl)にも「ポイント値引き」に <!--{$tpl_arrOrderData.point_discount|number_format}--> を指定すれば それぞれ、期待した通り、表示されました。 テーブルにカラムを追加して、calculate に results['point_discount'] を 追加するだけでした。 SC_Helper_Purchase.php の中で存在するカラムを全て処理してくれるんですねぇ。 助かりました。 暗闇の中で手探り状態だったのが、懐中電灯が手に入って 少し先が見えるようになってきたような気持ちです。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |