建立模块请參考 《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 后就会进入我们创建的 帮助页面

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RldmVuaHpoYW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />

  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()


最新文章

  1. Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)
  2. Convertion of grey code and binary 格雷码和二进制数之间的转换
  3. Spring @Scheduled应用解析
  4. Ubuntu 15.10 x64 安装 Android SDK
  5. 深入浅出设计模式——建造者模式(Builder Pattern)
  6. 《ASP.NET MVC4 WEB编程》学习笔记------ViewBag、ViewData和TempData的使用和区别
  7. 解决MS Office下载网站数据失败的问题
  8. 偶然发现www.ghostdogtattoo.com/ 出现的inner.html转换现象
  9. 201521123081《java程序设计》 第7周学习总结
  10. ROS探索总结(十一)——机器视觉
  11. 一个 Vue &amp; Node 的全栈小项目
  12. target和currentTarget
  13. 谈谈 Redux 与 Mobx 思想的适用场景
  14. Spark实时案例
  15. ABP框架系列之十:(Application-Services-应用服务)
  16. [LeetCode] 154. Find Minimum in Rotated Sorted Array II_Hard
  17. Oracle存储过程中使用临时表
  18. Python基础学习Day7 基础数据类型的扩展 集合 深浅copy
  19. .gitkeep
  20. Sass预定义一些常用的样式

热门文章

  1. 深入了解Linux远程桌面
  2. Java学习笔记九
  3. vue 刷新当前页面的方式
  4. HUSTOJ 1072 小数背包问题
  5. 三菱FX系列PLC学习
  6. js面向对象1----了解构造函数
  7. 大家好,我是FansUnion,雷文
  8. 限制tomcat仅响应本机请求(转)
  9. QQ在线交谈代码
  10. HTML(超文本标记语言)的内容和理解