建立模块请參考 《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写一个帮助模块。
<?php 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; } }
注意:结尾不要写 ?>
- 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()