0

我正在构建一个需要特定菜单结构的 Drupal 站点。

2 个菜单链接,“最近的工作”和“档案”

单击最近的工作时,“最近的文章”列表会显示为页面侧边栏中的菜单。但是,当单击该侧边栏中的链接标题时,我希望路径为 .com/recent-work/node-1 并且侧边栏的“最近工作”列表仍然存在。

单击存档时,所有节点的列表将显示在侧边栏中,单击链接标题后,完整节点将显示路径为 .com/archives/node-1,侧边栏的“存档”列表仍然存在。

这样做的目的是当用户查看特定节点类型时,使工作列表留在屏幕上。

4

1 回答 1

0

假设侧边栏中的视图是放置在侧边栏区域中的块,我认为您可以这样做:

  1. 使用 Path 模块(在核心中)为每个节点创建两个 URL 别名。所以 node/1 的别名是:
    • 最近的工作/1
    • 档案/1
  2. 使用Context 模块,创建两个上下文,一个用于最近的工作,一个用于存档。这些将根据 URL 路径中的内容(使用通配符)影响页面布局。例如:
    • 最近工作上下文:如果 path = recent-work/* 然后在侧边栏中显示“最近工作”视图。
    • 档案上下文:如果 path = archives/* 然后在侧边栏中显示“档案”视图。
  3. 确保每个视图中的链接指向相应的别名。这意味着如果链接位于最近工作视图中,则该链接应转到最近工作/1(对于档案视图也是如此)。去做这个:
    • 为“内容:Nid”的每个视图添加一个字段,但将其从显示中排除(需要它作为标记)
    • 编辑您作为链接显示的字段,然后转到Rewrite Results > Output this field as a Link。然后在您输入链接路径的地方,使用带有节点 ID 令牌的 URL。我认为它类似于:archives/[nid](或最近的工作/[nid],对于另一种观点)。

这应该涵盖你正在寻找的一切。如果在创建未来内容时,您能够从步骤 1 中自动构建别名,那将是非常巧妙的。如果您对此感兴趣,您可以从这篇文章中获得一些想法。

于 2013-03-03T06:02:41.130 回答