Drupal 7 模块开发 建立模块帮助信息(hook_help)

来源:互联网 发布:淘宝学徒招聘 编辑:程序博客网 时间:2024/05/20 23:08

建立模块请参考 《Drupal 7 模块开发 建立

如果你要支持中文,文件格式必须保存为 UTF-8,NO BOM

------------------------------

hook_help 为用户提供此模块的帮助信息。我们要用自己模块名替换 hook。在这里我们建立一个 my_first_module_help 在 my_first_module.module文件里

function my_first_module_help($path, $arg) {}

  参数:  

$path 是指需要添加的帮助信息的所在路径:

  • 为模块自己写一个帮助文件,使用路径:admin/help#module_name module_name就是你的模块名
  • 指定路径:admin/people  user/register
  • 路径可以使用通配符 %,譬如:node/% 或者 node/%/view

$arg()  是对应于arg() 函数返回值的数组,当$path里有通配符(%)时候会可以用到,来满足特殊要求。

譬如,你 $path 用到了 node/%/edit,当你访问 node/1/edit,$arg[0] == 'node', $arg[1] == '1', $arg[2] == 'edit'。

具体 arg() 解释可以访问:https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7

当你建立 hook_help 的时候,arg[0]到arg[11]已经建立,只是这些数组内的值都是空(empty)

  返回值:  

返回本地化的字符串到帮助文档。

  举例:  

我要给My First Module写一个帮助模块。

<?phpfunction my_first_module_help($path, $arg) {  switch ($path) {    case "admin/help#my_first_module":      $output = '<p>' . t("这是My First Module的帮助文档")  . '</p>';      return $output;      break;  }} 

注意:结尾不要写 ?>

  • Druap核心模块,会自动把admin/help#my_first_module转换成 admin/help/my_first_module
  • 在$output里用到 t("xxxxxxx"),在使用翻译模块的时候,可以翻译成其他语言,不用修改代码。

  检查运行结果: 

以管理员身份,登录你的Drupal网站,点 Modules,你会进入 admin/modules 页面。在 Other 分类下找到 My First Module,激活此模块后,你会发现一个多一个 Help 链接

点击 Help 后就会进入我们创建的 帮助页面

  arg() 测试:  

修改代码

function my_first_module_help($path, $arg) {  switch ($path) {    case "admin/help#my_first_module":      $output = '<p>' . t("这是My First Module的帮助文档") . '</p>';      return $output;      break;    case "node/%/edit":      $output = '这里是 ' . $arg[0] . ' ' . $arg[1] . ' ' . $arg[2] . '帮助信息';      return $output;      break;  }} 

  检查 arg() 运行结果: 

建立一个页面(点击 Add Conent -> Basic page,进入 node/add/page),保存后,再点击编辑(Edit),这时候你就能看到下面显示


  更多详细资料:  

  • 模块的一般帮助(overview help),参考 node_help().
  • 特定网页的帮助,单一简单路径,参考 dashboard_help()
  • 特定网页的帮助,如果路径里有通配符或者$arg,参考node_help() 和block_help()

0 0
原创粉丝点击