中国インターネット事情
このエントリーをはてなブックマークに追加
  • 最新配信
  • RSS

ECcube 無料商品のカートへの追加を初めて貰う商品のみに制限するハック

カテゴリ : 
ネット関連技術
執筆 : 
chinese-homepage.com 2010-10-26 20:26

一度サンプルを送ったら、同じIDには次は送らないようにしたい。購入履歴から過去のサンプル商品を特定して、同じものをカートに投入できないようにします。

先ずこちらをご覧ください。
http://chinese-homepage.com/modules/d3blog/details.php?bid=302

if ($price === "0"){

              $objCustomer = new SC_Customer();
              //ログイン判定
              if (!$objCustomer->isLoginSuccess()){
                 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG,"",false,"無料商品は会員登録してログイン状態で選択してください。<br />会員登録は右上の「会員登録」からお願いします。",false); //←ログイン以外はエラー
                 exit;
              }

ここまでは、さきのURLにある通り。その下に以下コードを追加します。なお、必ずログイン判定部が必要になります。お客を特定できないと、過去に買った商品を特定できません。

             $objQuery = new SC_Query();
              $objCustomer = new SC_Customer();
              //customer_idを検証
              $customer_id = $id;
              $customer_id[3] = $objCustomer->getValue("customer_id");
              $order_count = $objQuery->count("dtb_order_detail AS T1 INNER JOIN dtb_order AS T2 ON T1.order_id = T2.order_id", "T1.product_id = ? and T1.classcategory_id1 = ? and T1.classcategory_id2 = ? and T2.customer_id = ?",$customer_id);

              if ($order_count > 0){
                 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG,"",false,"本商品は追加できません。<br />無料商品はお一人様(1住所)一度のみとなっております。",false); //←ログイン以外はエラー
                 exit;
              }

過去に一度貰った商品をカートに入れようとすると、エラーメッセージを表示して、無料商品をカートに追加することが出来ない状態になります。
なお、他の無料商品や有料商品は普通に追加可能です。

なお、不具合については特にチェックしていませんのでよくテストをした方が良いと思われます。
ハックの適用は自己責任でお願いします。 


その他のニュース
中国あちらこちら
上海地下鉄10号...
上海地下鉄10号...
7675 hits   POPLAR
金茂大厦
金茂大厦
7255 hits   POPLAR
浦東国際空港
浦東国際空港
7158 hits   POPLAR
ユニクロ旗艦...
ユニクロ旗艦...
7047 hits   POPLAR
外灘(バンド...
外灘(バンド...
6976 hits   POPLAR
上海環球金融...
上海環球金融...
6640 hits   POPLAR
ブログランキング
にほんブログ村 IT技術ブログへ
 
ニュースカテゴリ
中国ネット基本情報
人気の記事
ニュースのトップへ
中国語サイト制作
ランキング参加中
にほんブログ村 IT技術ブログ Webサイト構築へ
人気ブログランキングへ
プロフィール
後藤(作者)
放浪中国写真集