在视图中,“普通”菜单项,“菜单”选项卡和“默认”菜单选项卡有什么区别


19

在视图中添加菜单项时,我会看到三个模糊的选择

普通菜单项

菜单标签

默认菜单标签

有什么区别,何时使用它们?

在此处输入图片说明

Answers:


14

它们对应于type从中返回的项目的参数hook_menu()

  • 正常菜单项= MENU_NORMAL_ITEM

    菜单类型-菜单和面包屑中显示的“常规”菜单项。

    普通菜单项显示在菜单树中,并且可以由管理员移动/隐藏。将其用于大多数菜单项。如果未指定菜单项类型,则为默认值。

  • 菜单标签= MENU_LOCAL_TASK

    菜单类型-特定于父项的任务,通常呈现为选项卡。本地任务是菜单项,描述了对其父项执行的操作。一个示例是路径“ node / 52 / edit”,它在“ node / 52”上执行“ edit”任务。

  • 默认菜单选项卡= MENU_DEFAULT_LOCAL_TASK

    菜单类型-“默认”本地任务,最初处于活动状态。

    每组本地任务都应提供一个“默认”任务,当单击该任务时,该任务将链接到与其父级相同的路径。

我能想到的最好的例子是节点页面。当您访问节点页面时,“视图”选项卡由类型的菜单项提供MENU_DEFAULT_LOCAL_TASK(请参阅$items['node/%node/view']中的node_menu())。

它没有这样的路径(它从父菜单项继承),仅是为了允许节点页面在由定义的“真实”选项卡组中具有一个选项卡MENU_LOCAL_TASK


谢谢@Clive。最后两个对我来说仍然模棱两可。您是否可以为每个视图添加一个示例,以定义在为视图创建页面时何时在另一个视图上使用一个视图?
奈杰尔·沃特斯2013年

我已经走了,希望这是有意义的:)
克莱夫(Clive)

抱歉,它仍然没有为我点击。进行查看时,“我”何时会使用它们?
奈杰尔·沃特斯

1
假设您要添加一个带有nid的视图作为上下文过滤器,并且想要在节点页面上为其提供一个选项卡...则应将路径设置为,node/%node/mypath然后选择“菜单选项卡”。当您为一组选项卡设置默认值时,“默认菜单选项卡”会进入其中,如节点页面示例中所示。node/[nid]/viewnode/[nid]解析到同一页面-前者的唯一目的是确保访问后者时该选项卡可见。更清晰吗?解释这很棘手
克莱夫(Clive)

感谢您抽出宝贵的时间Clive。我很感激。我想我现在明白了。我会花一些时间沉浸其中。:)
Nigel Waters
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.