我继承了 Drupal5 站点并负责进行一些更改,但我不知道从哪里开始寻找。

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

概述专家资源和工具在现场新闻事件课程中

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

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

我在 page.tpl.php 中看到 $tabs 区域,但我不知道它是如何构建的。

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

有帮助吗?

解决方案

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

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

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

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

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

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top