Drupal $ tabs不包括编辑/修订/工作流程

eas*_*ent 1 php tabs drupal menu drupal-5

我继承了一个Drupal5网站,并负责进行一些更改,但我无法弄清楚从哪里开始寻找.

在许多页面上,管理员可以使用一个菜单,允许您执行某些操作:

概述专家资源和工具现场新闻活动课程多媒体编辑跟踪​​工作流程设置

但是,在某些部分中,有不同的选项:预览布局设置布局设置高级上下文内容导出

我需要在第二个菜单中添加(编辑,跟踪,工作流,设置),但我不知道该怎么做.

我在page.tpl.php中看到$ tabs的区域,但我无法弄清楚它是如何构建的.

据我所知,主题基于Zen STARTERKIT主题.

Hen*_*pel 6

$ tabs变量通常会填充类型的菜单项MENU_LOCAL_TASK.

看看菜单系统,特别是hook_menu()获得一个基本的想法.它归结为回调函数到路径的映射.如果URL与hook_menu(可以包含占位符!)中定义的路径匹配,则将调用为该路径注册的回调函数以生成该URL的内容.

项的"类型" hook_menu定义了如何在系统中表示路径/回调组合.它可以是a MENU_CALLBACK,这意味着只注册路径/回调组合,但没有相应的"真实"菜单条目.A MENU_NORMAL_ITEM,将是相同的,但具有"标准"菜单条目,例如在导航菜单中.A MENU_LOCAL_TASK是相同的,但相应的菜单条目通常显示在$ tabs中而不是菜单中.

所有MENU_LOCAL_TASK共享相同的基本路径最终将作为一组选项卡.所以如果你有这样的路径:

  • 一些/路径/ TAB1
  • 一些/路径/ TAB2
  • 一些/路径/ TAB3

并且所有这些定义为MENU_LOCAL_TASK,您将在它们代表的每个页面上看到每个选项卡的一个选项卡.

因此,要查找需要修改/增强的位置,您应该在代码库中搜索hook_menu()定义这些选项卡显示的路径的所有实现.请注意,它们不需要在同一个地方定义,但可以来自hook_menu不同模块中的不同实现.您需要为要添加的选项卡添加菜单定义,将相关路径映射到回调函数.回调函数将返回用户在单击选项卡时应看到的页面内容.