2007年02月15日

Zen Cart ポイントシステム

Zen Cart にありそうで無い、あったら便利なポイントシステムの導入。

とりあえず、購入金額に一定のポイントを貯める仕様で、やってみます。

  1. データベースに「ポイントカード」テーブルを追加( zen_points_cards )
    ポイントカードテーブルに6つのフィールドを設定
    1.id レコードの通し番号( auto_incrementをつけてindexする)
    2.会員番号 customers_id
    3.ポイントチェック 該当注文の精算が完了しているかどうかのフラグ用
    4.獲得ポイント 該当注文で獲得するポイント
    5.注文ID orders_id
    6.注文日時 ポイント獲得日時(注文時刻と、精算完了時刻で更新する)
  2. カート画面で、獲得できるポイント数を表示する
    「今回のお買い物で獲得できるポイント:●●Pt」
  3. 注文完了画面に「確定ポイント」と「未確定ポイント(今回のポイントを含む)」表示
  4. マイページにポイント獲得履歴「ポイント通帳」
  5. カート内にポイント使用できる入力フォームの設置
  6. 管理画面で、入金の確認と同時に未確定の獲得ポイントを有効にする
    ポイントチェックにフラグを立てる
  7. 管理画面で、ポイントレートの変更ができるようにする

いじくるポイントは、カートの決済部分に関わる部分なので、細心の注意を払いつつ作業します。

主にいじるファイルは、

  • 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 で作ったクエリーを利用すれば、簡単だと思います。

今日は、この辺まで。。。
なお、ポイントシステムに関しては、有料で提供されている業者様もいらっしゃるので、作業に不安な方は、 業者様に依頼するのが安心かもしれません。

 

赤いアクセサリでドレスアップ | ケース & バッグ | オーディオ & スピーカー | ワイヤレス

trackbacks

trackbackURL:

comments

comment form

(SEO アクセスアップ ウェブのしあわせ にはじめてコメントされる場合、不適切なコメントを防止するため、掲載前に管理者が内容を確認しています。適切なコメントと判断した場合コメントは直ちに表示されますので、再度コメントを投稿する必要はありません。)

comment form
Apple Store(Japan)