web-dev-qa-db-ja.com

メニューの複数の場所にアイテムを配置する

/biblioへの2つのリンクがあるメニューレイアウトを設定しようとしています。 1つは「研究者」の下、もう1つは「スタッフ」の下にあります。これは、「スタッフ」の下を表示しているように、「リサーチャー」サブメニューが閉じているため、未登録のユーザーは「スタッフ」サブメニューを利用できないため、便利です。私が遭遇している問題は、メニューの異なる部分に2つのリンクを持つことができますが、ページを見ると、常にそれらの1つだけにメニューを開こうとすることです。これは、「スタッフ」の下を見ているときに、出版物に行くと、突然、サイトの別の場所のように見える場所にいることを意味します。これを修正する方法について何か提案はありますか?

4
Ricky Morse

Multiple Node Men モジュールを使用できます。

3
Rafael Caceres

ここでの本当の問題は 同じパスで2つのメニュー項目を処理するときにコアが一貫していません。UIで1つのことを言っており、実際には別のことをしています

その結果、メニューリンクが最も新しく追加され、メニューリンクIDが最も高いものが、メニュートレイルがアクティブになるリンクになります。

希望しない場合は、重複するメニュー項目を削除してから、再度追加します。これにより、ID番号が最も大きくなるため、内部URLパスに到達すると、そのメニュー項目の証跡がアクティブになります。

同時に複数のトレイルをアクティブにする方法があるとは思いません。いずれかを選択する必要があります。

1
colan

ここでの問題は、1つのページと、そのページにアクセスする2つの方法があることです。ブックマークなどから、サイトの/ biblioに直接アクセスしたとします。 Drupalは、「スタッフ」または「研究者」になるつもりであるかどうかはわかりません。

この状況では、/ staff/biblioと/ researchers/biblioのように同じページになる可能性がありますが、これによりDrupalが有効になり、メニューのバージョンがわかります表示する。

別の方法として、「ユーザーがログインしている(または特定の役割を持っている)場合は、「スタッフ」メニューを使用したと想定し、ログインしていない場合は「研究者」メニューを想定するとします。

1
Chris Cohen

Menu Position モジュールを使用すると、メニューに配置されたアイテムに適用されるルールを設定できます。

ページ、コンテンツタイプ、言語、分類法、またはユーザーロールに応じて、アクティブなメニュー項目を制限できます。

これを使用して、メニュー内の異なる場所に2つのMenu Position Rulesを作成し、それらを使用して、ユーザーロールによってアクティブなメニュートレイルを設定します。

0
Paul Kerrigan

/ biblioを指す2つの異なるURLを使用することで、/ biblioをエイリアスする2つのパスエイリアスを作成できます。使用する正確なパスエイリアスは、メニューのURLによって異なります。

0
kiamlaluno