1

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

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

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

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

我需要将(编辑、跟踪、工作流程、设置)添加到第二个菜单,但我不知道该怎么做。

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

据我所知,该主题基于 Zen STARTERKIT 主题。

4

2 回答 2

6

$tabs 变量通常会填充类型为 的菜单条目MENU_LOCAL_TASK

看看菜单系统,尤其是hook_menu()了解基本概念。它归结为回调函数到路径的映射。如果 URL 与定义的路径匹配hook_menu(可以包含占位符!),则为该路径注册的回调函数将被调用以生成该 URL 的内容。

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

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

  • 一些/路径/tab1
  • 一些/路径/tab2
  • 一些/路径/tab3

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

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

于 2009-10-22T22:09:42.753 回答
0

如果您正在显示节点,通常 $tabs 中已经有 Edit 链接,因为它不存在可能是其他东西(某种布局模块)。您需要添加编辑/跟踪选项来编辑/跟踪什么样的内容?具体节点还是什么?

于 2009-10-22T21:37:25.257 回答