Drupal - 链接到同一节点的菜单项不显示所有子节点

时间:2011-02-15 10:31:45

标签: drupal menu

我有一个像这样的菜单结构:

-menu item level 1

- 菜单项级别2

---菜单项3级

所有项目都链接到同一节点。现在,如果我访问节点,则只显示前两个项目。我发现的是:当我将第一级菜单项的链接更改为其他内容时,所有级别都会显示正确。

我使用的菜单模块:

  • 菜单栏

  • 每种内容类型的菜单设置

  • 菜单跟踪

  • 管理菜单

  • 自动菜单标题

  • 分层选择

任何想法?

感谢

的Lukas

3 个答案:

答案 0 :(得分:3)

googletorp是对的 - Drupal的核心菜单系统不是为处理这个问题而设计的。但是,您可以使用解决方法。

假设您要创建一个嵌套菜单,其中一个子项链接到与其父项相同的路径。类似的东西:

  • 人/朋友
  • 人/朋友
  • 人/家庭
  • 人/邻居

这在理论上有效 - 菜单项将带您到正确的页面。但是,如果您依靠Drupal正确设置活动路径并扩展正确的子菜单,则必须使用一些变通方法。您基本上将创建将重定向到所需页面的虚拟节点,而不是创建具有完全相同路径的两个菜单链接。父级(在菜单中)将重定向到子节点。

方法1(仅限D6):

  1. 下载并安装CCK重定向
  2. 创建内容类型“重定向节点”并将CCK重定向字段添加到内容类型
  3. 使用网址“people / friends”创建页面节点(节点1)并添加菜单链接
  4. 创建“重定向节点”(节点2)并为此新节点创建菜单链接。
  5. 将CCK重定向字段设置为URL节点1(人/朋友)。
  6. 将节点2的菜单项设置为节点1的父级
  7. 方法2(D6和7):

    如果您想获得真正的想象力,可以通过将CCK的节点参考模块与规则模块相结合,采用更加用户友好的方法。

    1. 下载并安装Rules module(和规则用户界面)并启用CCK的节点参考模块
    2. 创建内容类型“重定向节点”并添加节点参考(D6)(D7)字段'field_redirect_target'。请务必对其进行配置以使其成为必需,并且用户无法选择“重定向节点”类型的节点
    3. 如果内容属于“重定向节点”类型,则在要查看内容时,通过“规则”模块添加新规则
    4. 重定向到页面:[node:field_redirect_target-path]
    5. 创建类型页
    6. 的节点1
    7. 创建“重定向节点”类型的节点2
    8. 将节点参考字段设置为节点1
    9. 将节点2的菜单项设置为节点1的父级
    10. 这种方法对用户来说更好一些,因为它不需要他们找到目标节点的系统路径。

答案 1 :(得分:0)

根据您的设置,菜单模块将显示其子项的活动链接。但是,它不是为了搜索多个链接而设计的。这就是为什么你不会得到完整的嵌套菜单结构。我的猜测是,最上面的一个是它首先找到的链接,这就是它停止的地方。我不记得菜单结构的算法,你可能有运气重新安排菜单结构,使菜单1成为最后一个孩子。但是,这不是Drupal菜单系统的设计目标,您将无需轻松更改此内容。

通过多次链接同一节点,您想要实现的是嵌套菜单结构?

答案 2 :(得分:0)

我使用菜单第一个孩子解决了我的问题。我没有看它使用的代码,但它只是起作用。这开箱即用,你必须使用这样的解决方法真的是一个无赖。但实际上这增加了我案件的可用性。