0

特定のメニュー構造を必要とするDrupalサイトを構築しています。

2つのメニューリンク、「最近の作業」と「アーカイブ」

最近の作品をクリックすると、「最近の記事」のリストがページサイドバーのメニューとして表示されます。ただし、そのサイドバーでリンクされたタイトルをクリックすると、パスを.com / research-work / node-1にし、サイドバーの[最近の作業]リストを残します。

[アーカイブ]をクリックすると、すべてのノードのリストがサイドバーに表示されます。リンクされたタイトルをクリックすると、ノード全体がパス.com / archives / node-1で表示され、サイドバーの「アーカイブ」リストが残ります。

これの目的は、ユーザーがその特定のノードタイプを調べているときに、作業のリストを画面に表示したままにすることです。

4

1 に答える 1

0

サイドバーのビューがサイドバー領域に配置されたブロックであると仮定すると、次のように実行できると思います。

  1. パスモジュール(コア内)を使用して、ノードごとに2つのURLエイリアスを作成します。したがって、node/1のエイリアスは次のようになります。
    • 最近の仕事/1
    • アーカイブ/1
  2. Contextモジュールを使用して、2つのコンテキストを作成します。1つは最近の作業用、もう1つはアーカイブ用です。これらは、URLパスの内容に基づいて(ワイルドカードを使用して)ページのレイアウトに影響します。例えば:
    • 最近の作業コンテキスト:パス=最近の作業/ *の場合、サイドバーに「最近の作業」ビューを表示します。
    • アーカイブコンテキスト:path = archives / *の場合、サイドバーに「アーカイブ」ビューを表示します。
  3. 各ビューのリンクが対応するエイリアスを指していることを確認してください。これは、リンクが最近の作業ビューにある場合、リンクは最近の作業/ 1に移動する必要があることを意味します(同様にアーカイブビューの場合)。これをする:
    • 「Content:Nid」の各ビューにフィールドを追加しますが、表示から除外します(トークンとして必要です)
    • リンクとして表示しているフィールドを編集し、[結果の書き換え]>[このフィールドをリンクとして出力]に移動します。次に、リンクパスを入力する場所で、ノードIDトークンを含むURLを使用します。私はそれが次のようなものになると思います:archives / [nid](または他のビューの場合はrecent-work / [nid])。

それはあなたが探しているすべてをカバーするはずです。将来のコンテンツが作成されたときに、手順1からエイリアスを自動的に作成できれば、非常に便利です。興味があれば、この投稿からいくつかのアイデアを得ることができます。

于 2013-03-03T06:02:41.130 に答える