- 2008-01-05 (Sat) 18:46
- EC-CUBEカスタマイズ
明けましておめでとうございます。
昨年末に、EC-CUBEは沢山のプレスリリースを出されていましたねー!
その中でも気になるのはEC-CUBE2.0系のオーナーズストアがスタートした事と、オフィシャル本が出ることです。
本が出たら即チェックですね!
今年もEC-CUBEは飛躍の年になりそうな予感です。
弊社も何らかの形でロックオン様、そしてこのブログをご閲覧の方々にご協力させて頂ければと思っています。
---------------------
さてさて、本題からずれてしまいました^^;
EC-CUBEで注文のキャンセルが入った時に、受注管理のステータス管理や対応状況なんかで「キャンセル」にするのですが、そのままだとマイページにログインすると購入履歴に出てきます。
受注の削除をすると出てこないのですが、削除できない場合はキャンセルにするしかないので、このままではちょっとした問題になる場合があります。
そこで、キャンセルにした購入履歴はマイページに表示されないようにする方法を説明します。ちなみに、EC-CUBEのバージョン1.0系(1.3.x~1.4.x)向けの対策となるので、2.0系以降は修正するファイルや箇所が違う可能性があります。
昨年末に、EC-CUBEは沢山のプレスリリースを出されていましたねー!
その中でも気になるのはEC-CUBE2.0系のオーナーズストアがスタートした事と、オフィシャル本が出ることです。
本が出たら即チェックですね!
今年もEC-CUBEは飛躍の年になりそうな予感です。
弊社も何らかの形でロックオン様、そしてこのブログをご閲覧の方々にご協力させて頂ければと思っています。
---------------------
さてさて、本題からずれてしまいました^^;
EC-CUBEで注文のキャンセルが入った時に、受注管理のステータス管理や対応状況なんかで「キャンセル」にするのですが、そのままだとマイページにログインすると購入履歴に出てきます。
受注の削除をすると出てこないのですが、削除できない場合はキャンセルにするしかないので、このままではちょっとした問題になる場合があります。
そこで、キャンセルにした購入履歴はマイページに表示されないようにする方法を説明します。ちなみに、EC-CUBEのバージョン1.0系(1.3.x~1.4.x)向けの対策となるので、2.0系以降は修正するファイルや箇所が違う可能性があります。
/html/mypage/index.php と /html/mypage/history.php の$whereを変更する。
受注管理からキャンセル処理をした場合、データベースの「dtb_order」テーブルの「status」カラムに”3”が記録されます。受注のステータスに関しては、/data/conf/conf.php で設定されています。
一方、マイページのトップ(/html/mypage/index.php)で購入履歴が出てくるようになっていますが、この場合の条件には「削除フラグが立っていない」と「customer_idが何であるか」だけで、statusが何であるかは全く影響されません。
なので、この条件の中に「statusが3以外の時にだけ、購入履歴として出す」を入れれば良いことになります。
/html/mypageのなかのindex.phpとhistory.phpを修正して行きます。
●/html/mypage/index.phpの47行目付近
$where = "del_flg = 0 AND customer_id=?";
↓以下に変更
$where = "del_flg = 0 AND customer_id=? AND status <> 3";
●/html/mypage/history.phpの31行目付近
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? ";
↓以下に変更
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? AND status <> 3";
以上です。それぞれの$whereに 「AND status <> 3」を追加するだけでOKです。”<> 3”は「3と等しくない」を意味しており、つまりは「3以外の場合」という条件になります。この場合は「statusカラムが3以外の時」と解釈できます。
購入履歴に出さないだけならば、index.phpだけを修正すればよいのですが、念の為、購入履歴の詳細ページであるhistory.phpも修正しています。万一何らかの方法でキャンセルした購入履歴にアクセスされても「不正なアクセスです」というようなエラーページが表示されます。
簡単なチェックしか行っておりませんが、僕のテスト環境では正常動作しています。カスタマイズされる際は自己責任でお願い致します。
- Newer: EC-CUBEに納品書生成機能を付けよう(予告編)
- Older: 携帯ページの絵文字について
Comments:2
- knock 2008-02-23 (Sat) 11:38
-
すばらしいソースです。参考にさせていただきます。
ただ、問題点がポイントを使っている場合、注文時にポイントが
付与されているのでキャンセルした場合自動で減算できていませんので、手動でポイントのマイナスをしなければいけなくなりますね。 - aratana 2008-02-25 (Mon) 11:39
-
knockさん
ご覧頂き、ありがとうございます。
おっしゃる通りポイントは手動で変更しなければならないです。
ソースはおっかけていませんが、
そんなに難しい処理とも思えないので、
手が空いたら試しにやってみようかなぁと思っています。