バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注管理 対応状況 追加 ポイント消える

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
INDYTECH
投稿日時: 2013/5/21 13:46
対応状況: −−−
常連
登録日: 2013/3/1
居住地:
投稿: 47
受注管理 対応状況 追加 ポイント消える
システム設定>マスターデータ管理 を使い、mtb_order_status にID:9 として「完了」というステータスを追加し使用していましたところ、オーダーを「完了」ステータスに変更した時点で、ポイントが消失してしまうことがわかりました。

消失してしまう原因はポイント付加時に「完了」ステータスが無いためと思われます。

ポイント取得タイミングは SC_Helper_Purchase.php 内の

/**
* ポイント加算するかの判定
*
* @param integer $status 対応状況
* @return boolean 加算するか
*/
function isAddPoint($status) {
switch ($status) {
case ORDER_NEW: // 新規注文
case ORDER_PAY_WAIT: // 入金待ち
case ORDER_PRE_END: // 入金済み
case ORDER_CANCEL: // キャンセル
case ORDER_BACK_ORDER: // 取り寄せ中
return false;

case ORDER_DELIV: // 発送済み
return true;
default:
break;
}

return false;
}

にて、制御していることまではわかったのですが、case に追加した「完了」に該当する部分の追加方法がわかりません。

ORDER_DELIB などは、どこで設定・宣言されているのでしょうか?

アドバイスお待ちしています。

EC-CUBE 2.12.0
DBサーバー MySQL 5.1.61
PHP 5.3.3
namahage
投稿日時: 2013/5/21 15:39
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 受注管理 対応状況 追加 ポイント消える
はじめまして。
管理画面>システム設定>パラメーター設定にて
ORDER_DELIVの値が7と設定されています。

完了:9に設定した値もマスター管理から登録されていたとしたらそこにあるでしょう。
その完了:9に設定した値の名前になんてつけたのかはわかりませんが、仮にORDER_FINと付けていたとしましょう。


function isAddPoint($status) {
switch ($status) {
case ORDER_NEW: // 新規注文
case ORDER_PAY_WAIT: // 入金待ち
case ORDER_PRE_END: // 入金済み
case ORDER_CANCEL: // キャンセル
case ORDER_BACK_ORDER: // 取り寄せ中
return false;

case ORDER_DELIV: // 発送済み
case ORDER_FIN: // 完了  (こいつをここに追加したらいけそう)
return true;
default:
break;
}

return false;
}



ご参考になれば幸いです。
INDYTECH
投稿日時: 2013/5/21 18:47
対応状況: −−−
常連
登録日: 2013/3/1
居住地:
投稿: 47
Re: 受注管理 対応状況 追加 ポイント消える
返信ありがとうございました。

ORDER_DELIV とか ORDER_NEW とかの変数については
grepかけて、/data/mtb_constants_init.php の中にあるのを
見つけましたので、そこに ORDER_FINISH を追加し、値に 9 を入れました。

/data/class/helper/SC_Helper_Purchase.php 内を

function isAddPoint($status) {
switch ($status) {
case ORDER_NEW: // 新規注文
case ORDER_PAY_WAIT: // 入金待ち
case ORDER_PRE_END: // 入金済み
case ORDER_CANCEL: // キャンセル
case ORDER_BACK_ORDER: // 取り寄せ中
case ORDER_DELIV: // 発送済み
return false;

case ORDER_FINNISH: // 完了
return true;
default:
break;
}

return false;
}

としてみましたが、ポイントは残りませんでした。

受注管理・ステータス変更時のポイント加算は別のとこで行われているんでしょうか?

引続きアドバイスお待ちしています。
namahage
投稿日時: 2013/5/21 19:04
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 受注管理 対応状況 追加 ポイント消える

/data/class/helper/SC_Helper_Purchase.php 内を

function isAddPoint($status) {
switch ($status) {
case ORDER_NEW: // 新規注文
case ORDER_PAY_WAIT: // 入金待ち
case ORDER_PRE_END: // 入金済み
case ORDER_CANCEL: // キャンセル
case ORDER_BACK_ORDER: // 取り寄せ中
case ORDER_DELIV: // 発送済み
return false;

case ORDER_FINNISH: // 完了
return true;
default:
break;
}

return false;
}

としてみましたが、ポイントは残りませんでした。


これはあってると思いますよ。疑うべきは、ORDER_FINNISHの追加方法ですね。


mtb_constants_init.phpっていうのは、インストール時にしか使われない設定ファイルだったはずです。
追加すべきは、data/cache/mtb_constants.phpです。
こちらにORDER_FINNISHを追加してください。動くと思います。



※注意 
このファイルを直接触ることは反対です。
こちらは、管理画面>システム設定>パラメーター設定で
この内容で登録するボタンで上書きされてしまいます。
後ほど余裕があってデータベースを触ることができるなら、
http://www.happyquality.com/2009/02/19/786.htmなどを参考にして追加してください。
INDYTECH
投稿日時: 2013/5/21 22:46
対応状況: 解決済
常連
登録日: 2013/3/1
居住地:
投稿: 47
Re: 受注管理 対応状況 追加 ポイント消える
返信ありがとうございました。

>mtb_constants_init.phpっていうのは、インストール時にしか使われない設定ファイルだったはずです。
>追加すべきは、data/cache/mtb_constants.phpです。
>こちらにORDER_FINNISHを追加してください。動くと思います。

そのとおりでした!
思い通りに「完了」したらポイントを付与することができました。
ありがとうございました!

データベーステーブル mtb_constants へはphpmyadminを使って追加しました。

#管理画面で受注ステータスを追加できるのに、それに係る定数、処理の追加がここまで必要だとは思ってませんでした。

本当にありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,861名です
総投稿数は109,996件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1294
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.