回答:
解決策1:非表示のメニュー
ページにかなりのsef URLも必要な場合は、非表示のメニューを作成し、それらの記事を非表示のメニューにリンクできます。非表示のメニューとは、モジュールを作成せずに、メニューマネージャーで作成するだけなので、エンドユーザーには真のメニューとして表示されません。
Joomlaはこれを実際のメニューと見なしているため(表示されていなくても)、モジュールパラメーターで非表示のメニュー項目を選択することにより、それぞれにモジュールを割り当てることができます。
更新:Joomla 3.5以降、メニュー項目の[リンクタイプ]タブに移動して[メニューに表示]を[いいえ]に変更することで、公開されたメニューのメニュー項目を非表示にすることができます。
解決策2:高度なモジュールマネージャー
それ以外は、Regular Labs(以前はNoNumberと呼ばれていました)Advanced Module Managerが絶対的な方法です。Advanced Module Managerを使用すると、カテゴリー、コンポーネント、URL、メニュー項目、言語などの多数の基準に基づいてモジュールを割り当てることができます。これを使用して、特定のユーザーまたはユーザーのグループに公開することもできます。
デフォルトのJoomlaではできません。メニュー項目のみ。RegularLabsによる高度なモジュールマネージャーを見てください。これにより、より多くの割り当てオプションが提供されます。
番号なしの拡張子を使用してみてください。
http://www.nonumber.nl/extensions/advancedmodulemanager
高度なモジュールマネージャーを使用すると、多くの特定の割り当てを行うことができるため、実際には、「abc」がURLパス内にある場合、または特定の記事やコンポーネントごと、さらには曜日ごとにのみ、メニュー項目と一致するように設定できます。 。カスタムphp関数を記述して、独自のセレクターを作成することもできます。「すべて」または「すべて」の一致を使用できます。彼の他のすべての拡張機能も非常に優れており、Proを購入する価値は十分にありますが、基本的な無料のものも素晴らしいです。
申し訳ありません-私は20分前にこれを書き始め、中断された後、誰もがこれをすでに提案していることを知らずに投稿しました!! しかし、それは私が何かを知っている人々のチームの一員であるように感じるので、私はそれを離れます。
Joomla it selfは、メニューアイテムを使用してモジュールの可視性を制御することしかできません。
あなたができることの一つは、次のようなものでテンプレートのモジュールの位置を隠すことです:
/templates//index.php
<?php if (JFactory::getApplication()->input->get('id') == 4711) : ?>
<jdoc:include type="modules" name="submenu" />
<?php endif; ?>
idパラメータが「4711」の場合、このコードは「サブメニュー」の位置にモジュールを表示します。
このメソッドにはphpの知識が必要であり、ニーズに合わない場合があります。