JModuleHelper
には2つのメソッドがあります モジュールをロードするために使用できます:
_JModuleHelper::getModule();
_
これは、モジュール名/タイトル(例:「メインメニュー」)またはモジュール「タイプ」(例:mod_menu)のいずれかを受け取ります。
_JModuleHelper::getModules()
_
これはモジュールの位置をとります(例: 'top')。
getModules()
を使用して結果の配列に対してループを実行し、各タイトルをチェックするのではなく、実際の名前と位置の両方でモジュールをロードする方法はありますか?
私の知る限りではありません。私はあなたが提案したとおりにします。
各モジュールをループする必要はなく、プログラムでモジュールに必要なパラメーターを指定して、目的に合わせて新しいインスタンスを作成するだけで十分だと思います。それがあなたのアプリケーションにとって妥当であるかどうかはわかりませんが、そうかもしれません。
これを行うには、getModule()を使用してモジュールオブジェクトを取得し、パラメーターのattribs配列でrenderModuleを使用します。
この方法では、インスタンスをその場で生成しているので、実際に位置を知る必要はありません。