バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > 【EC-CUBE3.0】注文完了ページで注文IDを取得できますか?

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kogoro
投稿日時: 2016/5/6 17:03
対応状況: −−−
新米
登録日: 2016/5/6
居住地:
投稿: 6
【EC-CUBE3.0】注文完了ページで注文IDを取得できますか?
お忙しい中恐れ入ります。kogoroです。

ただいまEC-CUBE3.0のプラグインを作成しているのですが、
不明点があり、投稿させていただきました。

注文完了ページで注文IDを取得したいのですが、どのようにしたら
取得出来るのでしょうか。

下記のようにすれば取得できるかと思ったのですが…
$cartServiceは取得出来ているのですが、getPreOrderId()で
何も取得出来ません…

------------------------------------------------
$cartService = $this->app['eccube.service.cart'];
$preOrderId = $cartService->getPreOrderId();
------------------------------------------------
※{EventName}.phpの中です。
※FilterResponseEventを引数で取得しています。

どなたかお助けいただけませんでしょうか。

何卒よろしくお願いいたします。
tacky
投稿日時: 2016/5/6 17:17
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: 【EC-CUBE3.0】注文完了ページで注文IDを取得できますか?
ver3.0.9以降でしたら注文完了ページ

src/Eccube/Controller/ShoppingController.phpのcompleteでイベントが定義されています。
$event = new EventArgs(
 array(
   'orderId' => $orderId,
 ),
 $request
);
$app['eccube.event.dispatcher']->dispatch(EccubeEvents::FRONT_SHOPPING_COMPLETE_INITIALIZE, $event);


event.ymlで上記イベントを定義して頂き、
orderIdが引数で渡されていますので、Event.php内で下記記述で取得できると思います。
$orderId = $event->getArgument('orderId');
kogoro
投稿日時: 2016/5/6 18:26
対応状況: −−−
新米
登録日: 2016/5/6
居住地:
投稿: 6
Re: 【EC-CUBE3.0】注文完了ページで注文IDを取得できますか?
tacky様

早速のご返答誠にありがとうございます!!!

早速試してみたのですが、「event.ymlで上記イベントを定義して頂き」の部分が良く分かっておりません。
申し訳ございません。

現在注文IDを必要としているメソッドのevent.ymlには、
下記を設定しています。
------------------------------------------------------------
eccube.event.render.shopping_complete.before:
- [methodName, NORMAL]
------------------------------------------------------------
このフックポイントでは注文IDは取得出来ないでしょうか?


度々恐れ入りますが、ご教示いただけますと幸いです。

何卒よろしくお願いいたします。
kogoro
投稿日時: 2016/5/6 19:34
対応状況: −−−
新米
登録日: 2016/5/6
居住地:
投稿: 6
Re: 【EC-CUBE3.0】注文完了ページで注文IDを取得できますか?
tacky様

度々すみません!
教えていただいた通りで注文ID取得できました!
ありがとうございます!

FRONT_SHOPPING_COMPLETE_INITIALIZE(front.shopping.complete.initialize)をevent.ymlで設定し、先にorderIdを取得しておいて、次にeccube.event.render.shopping_complete.beforeのフックポイントを呼び出してorderIdを取得しました!

少しフックポイントの動きが分かってきました。
本当にありがとうございました!!!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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