メニュー項目のないページのモジュール表示を制御するにはどうすればよいですか?


7

モジュールパラメータのメニュー項目に従ってページにモジュールを割り当てましたが、メニュー項目がリンクされていない特定のページでモジュールを非表示/表示したいです。

これらのページのモジュール表示を制御するにはどうすればよいですか?

回答:


20

解決策1:非表示のメニュー

ページにかなりのsef URLも必要な場合は、非表示のメニューを作成し、それらの記事を非表示のメニューにリンクできます。非表示のメニューとは、モジュールを作成せずに、メニューマネージャーで作成するだけなので、エンドユーザーには真のメニューとして表示されません。

Joomlaはこれを実際のメニューと見なしているため(表示されていなくても)、モジュールパラメーターで非表示のメニュー項目を選択することにより、それぞれにモジュールを割り当てることができます。

更新:Joomla 3.5以降、メニュー項目の[リンクタイプ]タブに移動して[メニューに表示]を[いいえ]に変更することで、公開されたメニューのメニュー項目を非表示にすることができます。

解決策2:高度なモジュールマネージャー

それ以外は、Regular Labs(以前はNoNumberと呼ばれていました)Advanced Module Managerが絶対的な方法です。Advanced Module Managerを使用すると、カテゴリー、コンポーネント、URL、メニュー項目、言語などの多数の基準に基づいてモジュールを割り当てることができます。これを使用して、特定のユーザーまたはユーザーのグループに公開することもできます。


1
この回答は、Advance Module Managerと非表示のメニュー項目の両方に言及しているため、賛成票を獲得します。どちらもJoomlaにとって重要なツールです。
ブレント修道士2014

誰かが私の投稿を編集して(より良い!)、編集を微調整しました。それがどのように機能するのかまだわからないので、編集者にクレジットを与える方法がわかりません:)
Brian Peat 14

@BrianPeat投稿を編集しました。投稿の下部にある名前の左側の「編集済み*」をクリックすると、編集履歴を表示できます。
web-tiki 14

ああ、ありがとう。ここで毎日何か新しいことを学びましょう:)
ブライアンピート14

Advanced Module manager無料版は素晴らしかったです!nonumber.nl/extensions/advancedmodulemanagerありがとうございます!
最大

7

デフォルトのJoomlaではできません。メニュー項目のみ。RegularLabsによる高度なモジュールマネージャーを見てください。これにより、より多くの割り当てオプションが提供されます。


1
この。これを2倍にします。それを取得し、決して振り返ってはいけません。
ブライアンピート14

4

このような問題を回避するために、私は通常、サイトのどこにも配置されない「非表示」メニューを作成します。そうすることで、特定のページのURLを指定し、それらに(あなたがしようとしているように)モジュールだけでなくテンプレートも適用できます。


3

番号なしの拡張子を使用してみてください。

http://www.nonumber.nl/extensions/advancedmodulemanager

高度なモジュールマネージャーを使用すると、多くの特定の割り当てを行うことができるため、実際には、「abc」がURLパス内にある場合、または特定の記事やコンポーネントごと、さらには曜日ごとにのみ、メニュー項目と一致するように設定できます。 。カスタムphp関数を記述して、独自のセレクターを作成することもできます。「すべて」または「すべて」の一致を使用できます。彼の他のすべての拡張機能も非常に優れており、Proを購入する価値は十分にありますが、基本的な無料のものも素晴らしいです。

申し訳ありません-私は20分前にこれを書き始め、中断された後、誰もがこれをすでに提案していることを知らずに投稿しました!! しかし、それは私が何かを知っている人々のチームの一員であるように感じるので、私はそれを離れます。


2

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の知識が必要であり、ニーズに合わない場合があります。


2

簡単で強力な方法は、nonumber.nlの高度なモジュールマネージャー拡張を使用して提案されているとおりです。

時間のかかる簡単な方法は、これらのページの非表示のメニュー項目を作成することですが、これによりSEFが変更されることに注意してください

これを使用して、サブメニューのアイテムの第1レベルのSEF URLを作成します(メニューエイリアスによる)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.