バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 注文情報をDBに登録時に同時に顧客情報を更新しているところ

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
seike
投稿日時: 2013/7/24 14:28
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
注文情報をDBに登録時に同時に顧客情報を更新しているところ
お世話になります。

入力内容の確認画面で「注文完了ページへ」ボタンをクリックしたときに
注文内容をDBに登録するところで同時に顧客情報も更新していると思うのですが、
その顧客情報を更新しているところがわかりません。
LC_Page_Shopping_Confirm.php だと思うのですが、
そこに顧客情報を登録しているところが見あたりません。
(そもそも、注文情報を登録しているところもわからないのですが・・・)

どなたか教えていただけないでしょうか。
よろしくお願いします。


-----------------------------------------
[EC-CUBE] 2.12.2 新規インストール
[レンタルサーバ] 自前サーバー
[OS] Debian 6.0.1 Linux
[PHP] 5.3.3-7+squeeze
[データベース] MySQL 5.1.49-3
[WEBサーバ] Apache2 2.2.16
[ブラウザ] FireFox 15.0
------------------------------------------
casa
投稿日時: 2013/7/24 15:23
対応状況: −−−
長老
登録日: 2011/10/3
居住地:
投稿: 210
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
こんにちわ。

以下の流れではないでしょうか。ご確認ください。

LC_Page_Shopping_Confirm::action

SC_Helper_Purchase::completeOrder

SC_Customer::updateOrderSummary
seike
投稿日時: 2013/7/24 16:15
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
早速の回答、ありがとうございます。
わかりました!!

SC_Customer::updateOrderSummary では
buy_total, buy_time, last_buy_date, first_buy_date
の4項目を更新していますが、
新たに更新項目を追加するには
function updateOrderSummary の中で
$arrOrderSummary に項目を追加すればいいのでしょうか・・・?
casa
投稿日時: 2013/7/24 17:34
対応状況: −−−
長老
登録日: 2011/10/3
居住地:
投稿: 210
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
はい、それで問題ないと思います。

連想配列になってるので、

$arrOrderSummary['カラム名'] = 値;

とすれば更新できると思います。
seike
投稿日時: 2013/7/25 13:26
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
ありがとうございました。
おかげさまで、うまくいきました。

SC_Customer::updateOrderSummary に GC_Utils_Ex::gfDebugLog を入れて
変数の内容(顧客情報の配列)をデバッグ出力したのですが、
一度の「注文完了ページへ」クリックで SC_Customer::updateOrderSummary を
2回通っているようなのです。
つまり、デバッグ出力が2回出力されます。

これはなぜなのでしょうか・・・?
casa
投稿日時: 2013/7/25 14:33
対応状況: −−−
長老
登録日: 2011/10/3
居住地:
投稿: 210
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
上記でお答えしたルートの他、以下のルートでも呼ばれているので、購入完了時には必ず2度通るようです。

SC_Helper_Purchase::completeOrder
SC_Helper_Purchase::registerOrderComplete
SC_Helper_Purchase::registerOrder
SC_Helper_Purchase::sfUpdateOrderStatus
SC_Customer::updateOrderSummary

dtb_order を実際に更新しているのは sfUpdateOrderStatus で、管理画面や決済モジュール等からも呼ばれるので、こちらにも処理が必要なのだと思われます。
# となると、completeOrder から直接呼ぶ処理は不要な気もしますが
# トランザクションの絡みとかでしょうか。ちょっと分からないです^^;
seike
投稿日時: 2013/7/26 8:27
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
Re: 注文情報をDBに登録時に同時に顧客情報を更新しているところ
ご丁寧に回答していただきありがとうございました。
おかげさまで、こちらのやりたいことは実現できました。

EC-Cubeのコードを追いかけるのは大変なのですが、
こうやって答えていただけるので、助かります。
ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1299
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.