質問 > その他 > 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文がありますが、 ここで予期せぬ判定が行われているのではないでしょうか? この辺りをデバッグすれば、原因が分かりそうな気がします。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |