テンプレートでモジュールの位置を作成し、XMLファイルで宣言しました。モジュールマネージャーでモジュール位置の1つを選択してモジュールを保存すると、モジュール位置選択フィールドにカスタム位置として表示されます。
フレームワークを使用していません。ただカジュアルなjoomlaテンプレート。モジュールの位置はXMLとテンプレートのブロックファイルで定義されるため(カスタム位置とは見なされません)、モジュールマネージャーのモジュール位置フィルターに通常表示されます。
ただし、モジュールを保存すると、フィルターの[カスタム位置]グループにも追加され、同じモジュール位置で終了します。1つはmytemplate位置の下に、もう1つはカスタム位置の下に存在します。
それは物事を少し混乱させます。
これは、protostarテンプレートでも、おそらく他のテンプレートでもデフォルトで発生していることに気づきました。モジュールを位置に割り当てた後、この位置はカスタムモジュール位置でも使用可能になります。これは他の人にも当てはまりますか?
私は思います <optgroup>
ラベルを「カスタム位置」から「すでに使用済み」または「選択された位置」などに変更する必要があります。これを行うには、ファイルを作成または開きます
/administrator/language/overrides/en-GB.override.ini
次の行を追加します:
COM_MODULES_CUSTOM_POSITION="Already Used"
また、この行をコメント化することでoptgroup
を取り除くための汚い方法があります
$templateGroups[$customGroupText] = ModulesHelper::createOptionGroup($customGroupText, $customPositions);
に
/administrator/components/com_modules/helpers/html/modules.php
テンプレートのXMLファイルで一意の位置名を選択します。
また、テンプレートシステムの言語ファイルで名前を付けて、モジュールの位置を定義してみてください。
en-GB.tpl_yourtemplatename.sys.ini
このように各位置に名前を付けます。この例では、モジュールの位置はヘッダー、バナー、ブレッドクラムで、yourtemplatenameはyour template nameです。
TPL_YOURTEMPLATENAME_POSITION_HEADER="Header"
TPL_YOURTEMPLATENAME_BANNER="Banner"
TPL_YOURTEMPLATENAME_BREADCRUMBS="Breadcrumbs"