web-dev-qa-db-ja.com

コンポーネントのコントローラーをオーバーライドする方法

コンポーネント内のコントローラーをオーバーライドしたい

すなわち;

ファイルパス:components/com_test/controllers/test.php

test.phpをオーバーライドするにはどうすればよいですか?

4
vignesh.D

コントローラーを上書きすることは、たとえ可能であっても、私が敢えてやらないことです。

別のアプローチを使用することをお勧めします

オプション1–コントローラーを変更してイベントトリガーを追加し、開発者に次のバージョンに含めるように依頼します。

ここで説明したように:

https://techjoomla.com/joomla-development/adding-plugin-triggers-in-your-extensions-how-a-why.html

わかりました。コンポーネントのコアファイルをハックする必要があります。もちろん、この変更はアップグレード時に失われますが、必要な場合は、他のユーザーにも適している可能性が高いため、開発者はそれを挿入してもかまいません。イベントトリガー。

オプション2–自分のものを処理する小さなコンポーネントを作成します。

Com_testのテンプレートを簡単に上書きできるため、独自のコントローラー/com_mytest.phpへの呼び出しを変更できます。

次に、必要なことをすべて実行し、準備ができたら制御をcom_testに戻すことができます。

3
Piero Marsilio

これは複雑なソリューションです。このプラグインは役立つはずです: プラグインは、3番目のコンポーネントのコントローラー、モデル、ビュー、およびモジュールをオーバーライドします。

また、Joomlaのドキュメントでオーバーライドについて読むこともできます: Joomlaからコンポーネントmvcをオーバーライドする方法!コア

2
Dmitry Rekun