【问题标题】:Drupal $tabs not including edit / revisions / workflowDrupal $tabs 不包括编辑/修订/工作流
【发布时间】:2010-12-09 05:44:55
【问题描述】:

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

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

概览 专家 资源和工具 在该领域 消息 活动 培训班 多媒体 编辑 追踪 工作流程 设置

但是,在某些部分,有不同的选项: 预习 布局 设置 布局设置 先进的 语境 内容 导出

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

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

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

【问题讨论】:

    标签: php drupal menu tabs drupal-5


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      $tabs 变量通常由MENU_LOCAL_TASK 类型的菜单项填充。

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

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

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

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

      所有这些都定义为MENU_LOCAL_TASK,您会在它们所代表的每一页上看到它们各自的一个标签。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-14
        • 2017-10-22
        • 2014-07-20
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        相关资源
        最近更新 更多