バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > eccube2のプラグイン競合について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
epkhq
投稿日時: 2018/6/4 10:31
対応状況: −−−
新米
登録日: 2018/6/4
居住地:
投稿: 1
eccube2のプラグイン競合について
▼テンプレート
[EC-CUBE] eccube2
[レンタルサーバ] ローカル
[OS] windows 10
[PHP] php7
[データベース] mysql
[WEBサーバ] apache
[ブラウザ] firefox
[導入プラグインの有無] 割引クーポン
[カスタマイズの有無] なし
[現象]
お世話になっております。

eccube2のプラグインを開発しておりますが、ほかのプラグインとの競合が発生して、困っております。

プラグインA、Bともに、【LC_Page_Shopping_Payment_action_confirm】ポイントに、フックを掛けています。
優先順位は、プラグインA→プラグインBの前提で、
eccube本体のconfirm処理→プラグインAのconfirm処理→プラグインBのconfirm処理→ほかの処理
という認識しておりますが、実際に試したところ、
eccube本体のconfirm処理→プラグインAのconfirm処理が終わったら、プラグインBのconfirm処理を呼ばせずに、
ほかの処理のところに、進んでいきました。どこか間違ってしまいましたでしょうか。それとも、
同じポイントで複数のフックを掛けたら、必ずの現象でしょうか。対策がないでしょうか。

すみませんが、ご教授、お願い致します。

こちらの実装は、下記の通りです。
省略...
case "confirm":
省略...
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 確認ページへ移動
SC_Response_Ex::sendRedirect(SHOPPING_CONFIRM_URLPATH); ←ここで、次のプラグインのconfirm処理を呼び出しはずなのに。。
SC_Response_Ex::actionExit();

break;
468
投稿日時: 2018/6/5 9:48
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: eccube2のプラグイン競合について
通常は続けて、プラグインBが処理されると思います。

/data/class/SC_Response.php function sendRedirect()内に
ローカルフックポイントのアクションを呼び出す処理が記述されています。
(ソースは2.13.3で確認しました)

$objPlugin->doAction()にたどり着くまでに、いくつかのif文がありますが、
ここで予期せぬ判定が行われているのではないでしょうか?

この辺りをデバッグすれば、原因が分かりそうな気がします。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.