質問 > 管理機能 > 本体のコントローラーをプラグインで変更する方法 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
detti |
投稿日時: 2018/4/19 22:40
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2018/4/18 居住地: 投稿: 7 |
本体のコントローラーをプラグインで変更する方法 本体のコントローラーをプラグインで変更するにはどのようにすれば良いでしょうか?
例えば、ShoppingController.php 内の function nonmember function customer 等の関数を変更したい場合、 プラグインでの修正(本体バージョンアップに影響しないように)は可能でしょうか? 環境 CentOS6 Apache2.2 PHP5.6 EC-CUBE3.0.15 |
h_tanaka |
投稿日時: 2018/4/20 9:30
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 本体のコントローラーをプラグインで変更する方法 クラス定義で継承すれば可能です。
class ShoppingControllerEx extends ShoppingController ただし、他のプラグインでも同様に継承している場合は競合してしまいますので、インストール済みのプラグインで継承されていないか調べておいたほうが良いです。
|
detti |
投稿日時: 2018/4/20 11:21
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2018/4/18 居住地: 投稿: 7 |
Re: 本体のコントローラーをプラグインで変更する方法 ありがとうございます。
もう一点ご教授頂けないでしょうか。 継承するクラスはどこにどのように作成すればよいのでしょうか? event.ymlでフックさせた先のクラスでは継承出来ないようで・・。 ServiceProviderを利用するのでしょうか? まだ初心者で質問の内容すらわかりにくいかもしれませんが・・。 例えば、フロントの非会員の情報入力画面ですと、 front.shopping.nonmember.initialize というイベントでフック出来ると思うのですが、 その際に実行されているであろうShoppingController.php内の function nonmember の処理を プラグインを利用して、修正したいと思っております。 よろしくお願いいたします。 |
h_tanaka |
投稿日時: 2018/4/20 11:25
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 本体のコントローラーをプラグインで変更する方法 通常のControllerと同じようにControllerディレクトリ配下にphpファイルを作成してServiceProviderにて定義してやれば使えますよ。
|
detti |
投稿日時: 2018/4/20 13:53
対応状況: 解決済
|
新米 ![]() ![]() 登録日: 2018/4/18 居住地: 投稿: 7 |
Re: 本体のコントローラーをプラグインで変更する方法 ありがとうございました!
教えて頂いた方法で出来ました!! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |