第19章在模块里使用Drupal API
by Benjamin Melancon
制作模块的游戏规则是使用Drupal提供的工具来开发。API代表应用程序编程接口,是一种有趣的方式,它使用已经清楚地定义代码跟用户代码进行交互。本章着重讲解APIs,即Drupal提供给你的钩子(hooks)和函数(function)来构建18章中介绍的X-ray模块。由于模块不同功能特性的需要,有时我们需要使用其他扩展工具(API工具箱以外的),我将会介绍给大家并使用在项目中。
在写本章内容时,Drupal核心提供了251个钩子(hooks)。本章介绍了一些最常用的。钩子(hooks)虽然星光闪耀,但必须作为合奏队的一部分出现在舞台中。你有神奇优秀的实用功能函数的支持。这些功能也是Drupal API的一部分。
本章所做的模块是粗略基于佐伊.奥尼尔圣.克莱尔在贡献模块想法小组(groups.drupal.org/contributed-module-ideas)的建议。她提出了一个模块,实现一Drupal站点的技术摘要,展现内容类型和解释在Drupal中产生的每个页面之间的关系。你还不知道如何做到这一点,但你知道这是可以做到的,其他细节我们马上一并填充。
在本章中,你将会看到使用Drupal提供的钩子和函数功能的示例和说明。这些都包含在建立一个完整的模块的过程中,包括以下内容:
* 表单的修改。
* 本地化(提供一个可翻译的用户界面)。
* 模块主题化和样式化你的模块。
* 使用hook_menu()建立页面。
* 使用和定义权限
* 使用的数据库抽象层检索和存储数据。