web-dev-qa-db-ja.com

Joomla Hide Menu Item、または:ナビゲーションの一部としてリッチコンテンツを使用する

私のJoomlaベースのWebサイトには、2層のメインメニューがあります。ページレイアウトには2つのセクションがありますが、左側のセクションにはコンテンツが表示され、右側のセクションには他の種類のコンテンツが表示され、同時にメニューとしても機能します。

たとえば、ユーザーが[製品]-> [SomeCategory]の2番目のレベルのメニュー項目をクリックすると、左側のセクションに画像が表示されます。右側のセクションには、そのカテゴリのすべての製品がリストされています。各製品は画像とテキストで表されます。コンテンツはスクロール可能です。このセクションは、メニューに割り当てられたカスタムモジュール(mod_custom)によって実装されます。コンテンツはリッチテキスト(HTML)です。 WYSIWYGエディターで画像とテキストを追加し、画像とテキストへのリンクを挿入することにより、各製品を手動で入力します。

今の問題:

ユーザーが製品をクリックすると、対応する製品説明記事( "SomeProduct")を左側に表示し、次の要件を考慮します。

  • パン粉には、「製品-> SomeCategory-> SomeProduct」と表示されます。
  • メインメニューには「製品」の第2レベルが表示され、「SomeCategory」は選択済みとしてマークされたままです。
  • (製品をリストする右側のセクションがまったく同じスクロール状態のままになればいいのですが、それはまったく別の話です)

製品のエントリを右側の記事「SomeProduct」に直接リンクすると、記事は左側に表示されますが、ブレッドクラムとメニューはリセットされます。

そこで、 [SomeCategory]の下に隠しメニューアイテム [SomeProduct]を作成し、製品のエントリをそのメニューアイテムにリンクしたかったのです。このようにして、製品のエントリをクリックすると、記事が左側に表示され、パンくずリストが正しく動作し、メニューの状態が保持されます。ただし、 SomeProductメニュー項目を「非表示」として構成することはできないため、メインメニューに表示されます。

「隠し」と呼ばれる、モジュールを使用しない別のメニューを作成し、そのメニューに「SomeProduct」メニュー項目を作成することを提案するリソースを見つけました。 残念ながらこれはうまくいきませんでした:製品エントリからそのメニュー項目をリンクし、そのエントリをクリックすると、記事が左側に表示されますが、メニューはリセットされます。パンくずリストには、「製品> SomeCategory> SomeProduct」ではなく「SomeProduct」と表示されます。

私は幸運!私はあなたに心を注ぐことができる適切なstackexchangeサイトを見つけました。確かにあなたは私を助けることができます:-)


更新:私のポイントを明確にするために、下のワイヤーフレームを見てください。ページがどのように動作するかを示しています。 「SomeProduct」などはメインメニューにnot表示されますが、「SomeCategory」のサブメニューのように動作することに注意してください。

ユーザーが「製品」をクリックする:

enter image description here

ユーザーが「SomeCategory」をクリック:

enter image description here

ユーザーが「SomeProduct」をクリックする:

enter image description here

3
chiccodoro

別の解決策を見つけました。「SomeCategory」および「AnotherCategory」メニューは、カテゴリーのブログメニュー項目になりました。これらのそれぞれにjoomlaカテゴリを定義し、それらのカテゴリに製品記事を割り当てました。 「SomeCategory」カテゴリのブログメニュー項目を構成して、1つの記事のみを表示するようにしました。

カテゴリブログメニュー項目を使用すると、対応するカテゴリの記事を表示すると、サブメニューのように扱われます。ブレッドクラムには「SomeCategory> SomeProduct」が表示され、メインメニューの「SomeCategory」メニュー項目はアクティブのままです。

1
chiccodoro

ここで、ナビゲーションの構造を変更して、すべての「隠されるべき」リンクが3番目のレベルになり、メニューモジュールがレベル1〜2のみを表示するように構成しました。

しかし、これはあまり満足のいくものではありません。代わりにanyレベルのメニュー項目を非表示にできるようにしたいと思います。だから誰かが正確な助けを思いついたら、私はすべて耳だ。

0
chiccodoro