バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 共通で実行されるメソッドの場所

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
boonen
投稿日時: 2017/5/14 12:57
対応状況: −−−
半人前
登録日: 2017/3/7
居住地:
投稿: 15
共通で実行されるメソッドの場所
EC CUBE3系で、すべてのコントローラーの呼び出し時に実行されるメソッドを追加したいのですが、どこに記述すればよいのでしょうか?
Application.phpでしょうか?

Application.phpだと$app->url()が意図したように動きません。(http://domain.com/controller/methodとなって欲しいのに、http://localhost/controller/methodになる)

ご教授いただけると幸いです。
468
投稿日時: 2017/5/14 16:06
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 共通で実行されるメソッドの場所
AbstractControllerの__construct()は、
必ず処理されると思いますが如何でしょうか?

もしくは、プラグインによる実装も可能かと思います。


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

umebius
投稿日時: 2017/5/15 8:27
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 共通で実行されるメソッドの場所
候補はたくさんあります。
たとえばApplication.phpの
$this->on(\Symfony\Component\HttpKernel\KernelEvents::CONTROLLER, function (\Symfony\Component\HttpKernel\Event\FilterControllerEvent $event) use ($app) {

のfunctionなど。

468さんのおっしゃっているAbstractControllerの__construct()だと、コントローラーがオーバーライドしてしまっていたら動かず、問題が発生するかもしれないですね。parent::__construct();を呼んでいれば問題ないのですが、呼んでいないコントローラがいくつかあったような気がします。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.