バージョン選択

フォーラム

メニュー

オンライン状況

27 人のユーザが現在オンラインです。 (19 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 27
もっと...

サイト内検索

質問 > その他 > ポイントを率ではなく固定の値での付与について

その他

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kenken5050
投稿日時: 2010/4/2 18:41
対応状況: −−−
新米
登録日: 2010/4/2
居住地:
投稿: 6
Re: ポイントを率ではなく固定の値での付与について
返信ありがとうございます。

大変丁寧な説明ありがとうございます。
さっそく実装してみた所、ポイント付与が確認できました。
また解らない事がありましたら質問させて下さい。
本当にありがとうございました。
ukai
投稿日時: 2010/4/2 17:47
対応状況: −−−
常連
登録日: 2009/5/29
居住地: 東京都
投稿: 54
Re: ポイントを率ではなく固定の値での付与について
自分もポイントの加算等をいじったことはあります。
kenken5050さんがしようとしておられることよりも大分簡単な
カスタマイズですが…。

ログインに成功している場合、

例えばdata/class/pages/mypage/LC_Page_Mypage.phpを参考に
すると

65行目〜

function process() {

    $objView = new SC_SiteView();    
    $objQuery = new SC_Query();    
    $objCustomer = new SC_Customer();

    // レイアウトデザインを取得
    $objLayout = new SC_Helper_PageLayout_Ex();
    $objLayout->sfGetPageLayout($this, false, "mypage/index.php");

    // ログインチェック
    if(!$objCustomer->isLoginSuccess()) {
      SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
    }else {
      //マイページトップ顧客情報表示用
       $this->CustomerName1 = $objCustomer->getvalue('name01');
       $this->CustomerName2 = $objCustomer->getvalue('name02');
       $this->CustomerPoint = $objCustomer->getvalue('point');

以下略

$objCustomerが顧客情報を全て取得しているので、
ポイント自体を取得するのは丁度最後の行のようにすればいいと思います。

ポイントを何か変数にセットして↓

    $point = $objCustomer->getvalue('point');
    $point += 100;

   //ポイント更新
    $objQuery = new SC_Query();
    $where = "customer_id = ?";
    $sqlval['point'] = $point;
    $sqlval['update_date']= "NOW()";
    $objQuery->update("dtb_customer", $sqlval, $where, array($objCustomer->getvalue('customer_id')));

更新自体は上のコードのようにしてできると思います。

ただどこに組み込むのが一番いいのか、曜日の判定とかは
自分も勉強不足で定かでないです。
すみません
kenken5050
投稿日時: 2010/4/2 17:13
対応状況: −−−
新米
登録日: 2010/4/2
居住地:
投稿: 6
Re: ポイントを率ではなく固定の値での付与について
こんにちは。
返信ありがとうございます。

はい、固定ポイントであっています。言い回しがおかしくてすいませんでした。

ただ購入した場合のポイントではなく、例えば毎週月曜にログインしたら100ポイント付与等をする等を考えております。
ですのでデータベースからポイントの項目をGETして100足してSETするという感じのコードはどうなるか解りますでしょうか?


ukai
投稿日時: 2010/4/2 17:04
対応状況: −−−
常連
登録日: 2009/5/29
居住地: 東京都
投稿: 54
Re: ポイントを率ではなく固定の値での付与について
こんにちは。

意図が間違っていたらごめんなさい。
固定のポイントを付与するという考えでいいのでしょうか?

上記の考えで正しいのなら、
data/class/helper/SC_Helper_DB.phpの
sfTotalConfirm(1491行)という関数で最終的な受注計算を行っています。
その関数内・1542行目あたりの加算ポイントの編集を修正すればいいのではないでしょうか?
以下が実際のコードです。

// 加算ポイントの計算
if (USE_POINT === false) {
        $arrData['add_point'] = 0;
} else {
        $arrData['add_point'] = SC_Utils::sfGetAddPoint($objPage->tpl_total_point, $arrData['use_point'], $arrInfo);

   if($objCustomer != "") {
     // 誕生日月であった場合
     if($objCustomer->isBirthMonth()) {
         $arrData['birth_point'] = BIRTH_MONTH_POINT;
         $arrData['add_point'] += $arrData['birth_point'];
     }
   }
}

if($arrData['add_point'] < 0) {
       $arrData['add_point'] = 0;
}

直接の加算ポイントの計算は、上記の引用4行目のSC_Utils::sfGetAddPoint
つまり、data/class/util/SC_Utils.phpのsfGetAddPointという
関数で行っています。

毎回何を買っても同じポイントでいいのなら、SC_Helper_DB.phpの
方を直せばいいと思います。
何か違う計算方法にするのなら、たぶんSC_Utils.phpの方を直さないといけないと思います。

試してないので定かではないですが…
kenken5050
投稿日時: 2010/4/2 16:35
対応状況: −−−
新米
登録日: 2010/4/2
居住地:
投稿: 6
ポイントを率ではなく固定の値での付与について
はじめまして EC−CUBEの初心者です。

会員にポイントを付与するもっともシンプルなコードをお教え下さい。ポイントは率ではなくある固定の値です。
例えば与えるポイントが100ポイントだとするとコードはどうなるのでしょうか?
宜しくお願い致します。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,324名です
総投稿数は110,082件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.