2007年02月15日
Zen Cart ポイントシステム
Zen Cart にありそうで無い、あったら便利なポイントシステムの導入。
とりあえず、購入金額に一定のポイントを貯める仕様で、やってみます。
- データベースに「ポイントカード」テーブルを追加( zen_points_cards )
ポイントカードテーブルに6つのフィールドを設定
1.id レコードの通し番号( auto_incrementをつけてindexする)
2.会員番号 customers_id
3.ポイントチェック 該当注文の精算が完了しているかどうかのフラグ用
4.獲得ポイント 該当注文で獲得するポイント
5.注文ID orders_id
6.注文日時 ポイント獲得日時(注文時刻と、精算完了時刻で更新する) - カート画面で、獲得できるポイント数を表示する
「今回のお買い物で獲得できるポイント:●●Pt」 - 注文完了画面に「確定ポイント」と「未確定ポイント(今回のポイントを含む)」表示
- マイページにポイント獲得履歴「ポイント通帳」
- カート内にポイント使用できる入力フォームの設置
- 管理画面で、入金の確認と同時に未確定の獲得ポイントを有効にする
ポイントチェックにフラグを立てる - 管理画面で、ポイントレートの変更ができるようにする
いじくるポイントは、カートの決済部分に関わる部分なので、細心の注意を払いつつ作業します。
主にいじるファイルは、
- define_queries.php
よく使うクエリーを呼び出すのに便利(・・・ていう解釈でいいのかな?)
ポイントカードテーブルのSELECT文を登録しておきます。
例)define_queries.php の最終行に追加↓↓
define('SQL_POINT_CARD', "SELECT *
FROM " . TABLE_POINTS_CARDS . " pc
WHERE pc.customers_id = '%s'
ORDER BY pc.id asc "); - includes/modules/checkout_process.php
注文完了のところで、ポイントカードテーブルにポイントを追加します。
本当は、includes/modules/(custom_template)/checkout_process.php
にファイルをコピーしてオーバーライドします。 - カート内でのポイントの表示は、それぞれテンプレートファイルを加工します。
define_queries.php で作ったクエリーを利用すれば、簡単だと思います。
今日は、この辺まで。。。
なお、ポイントシステムに関しては、有料で提供されている業者様もいらっしゃるので、作業に不安な方は、
業者様に依頼するのが安心かもしれません。
赤いアクセサリでドレスアップ
|
ケース & バッグ
|
オーディオ & スピーカー
|
ワイヤレス
- by rosso
- at 21:07


comments