バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 元のファイルを書き換えずにプラグインをカスタマイズしたい。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地:
投稿: 1392
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。
引用:
[services.yml]
Plugin\(プラグイン名)\Service\(クラス名):
public: false
autowire: true
decorates: Plugin\(プラグイン名)\Controller\(クラス名)

[エラー]
You have requested a non-existent service
"Plugin\(プラグイン名)\Controller\(クラス名)".


これは、Service部の設定ファイルなのでcontroller部の設定はできません。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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
居住地:
投稿: 1392
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。
Controller部は、

1. src/Eccube/Controller/
2. app/Customize/Controller/
3. app/Plugin/{各プラグインフォルダ}/Controller/

の順に読まれると思います。
なので、もとプラグインのプラグインを書き換えずにカスタマイズをするには別のプラグインを作るしかないと思います。

というか、プラグインをカスタマイズしている事で仮に元のプラグインがバージョンアップした場合、結局動作を確認しないといけないので元のプラグインを書き換えないでカスタマイズしたいという作業自体意味があるのだろうか...


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

anonim
投稿日時: 2023/9/6 17:49
対応状況: 解決済
半人前
登録日: 2023/9/5
居住地:
投稿: 23
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。
ご回答いただきありがとうございました。
h_tanaka
投稿日時: 2023/9/14 11:06
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1702
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。
app/Customize でプラグインのクラスを継承しても無視されるため基本的にカスタマイズ不可です。

独自ページへの遷移がある場合は、ルーティングをオーバーライドしてもプラグイン側が優先されるため、呼び出し元のテンプレートをカスタマイズしてリンクを変更すれば呼び出すクラスを変更できます。

無理矢理感はありますが、、

他の方が言われているとおり、元のプラグインを拡張した別名のプラグインを自作するのがいいかもしれないですね。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

nanasess
投稿日時: 2023/9/14 11:30
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2314
Re: 元のファイルを書き換えずにプラグインをカスタマイズしたい。
EC-CUBE4.1系は、脆弱性修正以外のバージョンアップはありませんので、EC-CUBE本体のファイルを修正しても保守性は低下しませんので安心を。

むしろ、app/Customize やプラグインで頑張ると 4.2以降へバージョンアップしようとした際に差分がわかりづらくなって大変かもしれません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,867名です
総投稿数は110,499件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1702
8
red
1571
9
mcontact
1392
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.