質問 > 管理機能 > 初回買い物でポイントアップ |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tonton |
投稿日時: 2009/3/28 2:32
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 初回買い物でポイントアップ おっと!!!
がぁ〜ん。。。 >実運用に乗っけるには、 >・初回注文がキャンセルされた場合のフロー >・ポイント有効化タイミングの調整 >が必要になってくると思います。 なるほど・・・そうですね、確かに結構な調整が必要ですね。 ちょっと、及び腰になってしまいました; >・ポイント有効化タイミングの調整 こっちのほうは、フォーラムでも何度か出ていたようなので、そちらのスレッドを拝見させていただいて、タイミングさえ合えば、後は、運用で手動でするしかないだろうと思います。 上記、時間を見つけて一度トライしてみます。 ありがとうございます。(*^^*) |
tao_s |
投稿日時: 2009/3/28 2:24
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 796 |
Re: 初回買い物でポイントアップ 実運用に乗っけるには、
・初回注文がキャンセルされた場合のフロー ・ポイント有効化タイミングの調整 が必要になってくると思います。 そうなると、管理画面の受注管理もいじらなくてはならないと思うので大変だとは思いますが頑張ってください。
|
tonton |
投稿日時: 2009/3/27 21:16
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 初回買い物でポイントアップ SEASOFT様&tao_s様
今回もお助けいただいてありがとうございます。 seasoftさんに教えていただいたソースを参考に、いちおうポイントを付けるところまではできました。 EC-CUBEの全体的なロジックがまだ良く分からないので、もしかしたらどこかでおかしなところが出てくるかもしれませんが・・・(^^; 一応、やってみて動作確認したところを記載しておきます。 何か、問題点、もう少しこうしたら?など、ございましたら、ご指摘いただけるとうれしいです。 また、問題ないようでしたら、他の方のお役に立てていただければ幸いです。 もう少しテストしてみて、いけそうだったら、tao_sさんに教えていただいたように、ポイント○○倍のところを、パラメータ設定で決められるように変更しようと思います。 (現在は、キメうちで2倍にしています) 今回やりたかったこと。 ⇒会員登録&購入を促すため、初めて購入した際にポイントを○○倍にしたかった。(=新規登録で購入した人へは、登録ポイントと購入ポイントの両方またはどちらかを付けることができるようにする) 実装した内容。 SC_CartSession.php のL186からのfunction getAllProductsPoint()の中に、 ・ログインしている会員のIDから過去の注文状況を調べ、 ・初めての買い物だった場合は、 ・ポイントを2倍にする。 というロジックを追加した。 L206あたり、 $id = $_SESSION[$this->key][$i]['id'][0]; $point = SC_Utils_Ex::sfPrePoint($price, $point_rate, POINT_RULE, $id); $total+= ($point * $quantity); } の下に、 $objQuery = new SC_Query(); $objCustomer = new SC_Customer(); //customer_idを検証 $customer_id = $objCustomer->getValue("customer_id"); $order_count = $objQuery->count("dtb_order", "order_id = ? and customer_id = ?", array($order_id, $customer_id)); if ($order_count == 1) { $total = $total*2; } を追加。その下のソースは、下記のようになっている。 return $total; } // カートへの商品追加 です。$total = $total*2;の「2」が2倍ですので、これをパラメータにして管理画面から指定するなら、mtb_constantsテーブルに、1つFIRST_POINTなどの名称でカラムを追加し、上記ソースの「2」の変わりに、パラメータの変数を記述すればいいことになりますね。(*^^*)パラメータデフォルトは「1」(倍)です。 お二方のアドバイス、本当に助かりました。ありがとうございました。 |
seasoft |
投稿日時: 2009/3/27 11:12
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7365 |
Re: 初回買い物でポイントアップ EC-CUBEコミュニティ(eccube-comu) ベースですが、変更すべきは下記の付近やその呼び出し元・呼び出し先のいずれかになってくると思います。
data\class\SC_CartSession.php(190): if (USE_POINT !== false) { data\class\helper\SC_Helper_DB.php(370): if (USE_POINT !== false) { data\class\helper\SC_Helper_DB.php(522): if (USE_POINT !== false) { data\class\pages\shopping\LC_Page_Shopping_Complete.php(632): if (USE_POINT !== false) { 注文の有無は、 data\class\pages\mypage\LC_Page_Mypage_Order.php(108): $order_count = $objQuery->count("dtb_order", "order_id = ? and customer_id = ?", array($order_id, $customer_id)); が参考になりそうです。
|
tonton |
投稿日時: 2009/3/27 11:03
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 初回買い物でポイントアップ tao_s様
レスありがとうございます。 ふ〜む。 1)mtb_constansで、初回の掛け率をパラメータで2とか3とか設定し、 2)ポイントの発行では、買い物履歴が無いかどうかdtb_orderを検索して、if文で、当てはまれば、2倍、当てはまらなければ、適用なし、という分岐をさせる という流れでしょうかね。 ちょっと、面倒そうですね(^^; >dtb_orderを検索 DBを検索するロジックはどこかで使われていそうなので、ちょっと、探して、トライしてみます! ありがとうございます。(*^^*) 引き続き、何か情報ございましたら、よろしくお願いします。 |
tao_s |
投稿日時: 2009/3/27 4:04
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 796 |
Re: 初回買い物でポイントアップ ちょっと面倒ですね。
会計処理のところで、買い物履歴が無いかどうかdtb_orderを検索しないといけないと思います。(LC_Class_Pages_Shoppingあたりですか?) 出来ればmtb_constansに初回ポイントのかけ率を登録しておいて、管理画面から変更できるようにした方が良いと思います
|
tonton |
投稿日時: 2009/3/27 1:44
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
初回買い物でポイントアップ いつもお世話になります。
会員登録してもらってから買い物していただきたいので、初回の買い物でポイント2倍とか3倍!という形でポイントの付与を行いたいのですが、過去スレなどご存知の方または実装されている方はいらっしゃいませんでしょうか? ありそうだな、と思って探しているのですが、、、 もし、ご存知の方がいらっしゃいましたら、すみません、教えていただけませんか? ちなみに、実装しようと思っているのは、EC-CUBE2.3.4/php5.2/mySQL5/linuxの環境です。 よろしくお願いします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |