質問 > その他 > 元のファイルを書き換えずにプラグインをカスタマイズしたい。 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
anonim |
投稿日時: 2023/9/5 10:30
対応状況: 解決済
|
半人前 登録日: 2023/9/5 居住地: 投稿: 23 |
元のファイルを書き換えずにプラグインをカスタマイズしたい。 [EC-CUBE]4.1.0
表題の通り、保守性を保つ観点から元のファイルを書き換えずにプラグインをカスタマイズしたいと考えています。 そこで以下の手法を試してみましたが、クラスが存在しないという旨のエラーを吐いてしまいます。 https://qiita.com/chihiro-adachi/items/b3bb70e6abbc0f824965 FormTypeなどを上書きすることはできており、プラグインのみ対応できていない状況です。解決策をご教示いただけますと幸いです。 [services.yml] Plugin\(プラグイン名)\Service\(クラス名): public: false autowire: true decorates: Plugin\(プラグイン名)\Controller\(クラス名) [エラー] You have requested a non-existent service "Plugin\(プラグイン名)\Controller\(クラス名)". |
mcontact |
投稿日時: 2023/9/5 13:20
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1438 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 引用:
[services.yml] これは、Service部の設定ファイルなのでcontroller部の設定はできません。
|
anonim |
投稿日時: 2023/9/5 14:10
対応状況: −−−
|
半人前 登録日: 2023/9/5 居住地: 投稿: 23 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 ご回答いただきありがとうございます。
service部の設定ファイルであるとのこと、理解いたしました。 では、Controllerを上書きするにはどのような方法が存在しているのでしょうか。 以下の質問をもとに同様の手順を踏んでみましたが、上書きしたいファイルより先に元のファイルが読み込まれてしまっているようです。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=26750&forum=17 ご教示よろしくお願いします。 |
mcontact |
投稿日時: 2023/9/5 15:44
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1438 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 Controller部は、
1. src/Eccube/Controller/ 2. app/Customize/Controller/ 3. app/Plugin/{各プラグインフォルダ}/Controller/ の順に読まれると思います。 なので、もとプラグインのプラグインを書き換えずにカスタマイズをするには別のプラグインを作るしかないと思います。 というか、プラグインをカスタマイズしている事で仮に元のプラグインがバージョンアップした場合、結局動作を確認しないといけないので元のプラグインを書き換えないでカスタマイズしたいという作業自体意味があるのだろうか...
|
anonim |
投稿日時: 2023/9/6 17:49
対応状況: 解決済
|
半人前 登録日: 2023/9/5 居住地: 投稿: 23 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 ご回答いただきありがとうございました。
|
h_tanaka |
投稿日時: 2023/9/14 11:06
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1721 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 app/Customize でプラグインのクラスを継承しても無視されるため基本的にカスタマイズ不可です。
独自ページへの遷移がある場合は、ルーティングをオーバーライドしてもプラグイン側が優先されるため、呼び出し元のテンプレートをカスタマイズしてリンクを変更すれば呼び出すクラスを変更できます。 無理矢理感はありますが、、 他の方が言われているとおり、元のプラグインを拡張した別名のプラグインを自作するのがいいかもしれないですね。
|
nanasess |
投稿日時: 2023/9/14 11:30
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。 EC-CUBE4.1系は、脆弱性修正以外のバージョンアップはありませんので、EC-CUBE本体のファイルを修正しても保守性は低下しませんので安心を。
むしろ、app/Customize やプラグインで頑張ると 4.2以降へバージョンアップしようとした際に差分がわかりづらくなって大変かもしれません。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |