【问题标题】:2 menus showing same nodes2 个显示相同节点的菜单
【发布时间】:2013-03-02 13:52:35
【问题描述】:

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

2 个菜单链接,“Recent Work”和“Archives”

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

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

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

【问题讨论】:

    标签: drupal drupal-7 drupal-navigation


    【解决方案1】:

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

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

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

    【讨论】:

    • 今天完成这个答案,感谢您回复我!我到处问过,你是唯一提供解决方案的人。
    • 我想我不清楚某些事情......最近的工作和档案都是指向同一个节点的链接,但它们必须从父页面继承侧边栏。本质上是它的 1 种内容类型。
    • 这让我有了飞跃式的发展,非常感谢。就这么清楚了。节点 1 将具有: - 绝对路径最近工作/1 - 路径别名档案/1 然后我可以使用您在显示侧边栏上方的步骤?这太好了,谢谢。尽管手动设置了别名(您的最后一点),但随着新内容的添加,我将阅读建议的帖子并尝试让它继续。我认为这将是 drupal 中的一项简单任务,我是不是走错路了?
    • 是的,node/1 将有两个不同的路径别名:archives/1 和 recent-work/1。两条路径将显示相同的节点,但您可以获得不同的块布局,因为 URL 不同,并且 Context 允许您通过 URL 中的模式定义块布局。这是我在 Drupal 中能想到的最接近从父页面继承信息的方式。
    猜你喜欢
    • 1970-01-01
    • 2021-07-28
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多