Drupal 是一种非常成功的开源内容管理系统(CMS)。它的鲁棒性、灵活而完美的代码,以及近乎无限的扩展和定制能力,使它备受推崇。
2008年初发布的 Drupal 6 是一次重大的改进,尽管它已经是一种成熟的 CMS。在本书中,我们为 Drupal 6 编写扩展,重点放在重要的 API 和库。我们也突出介绍了第 6 版中引入的新特性,这使本书不仅适合 Drupal 新手,也适合那些从第 5 版转过来的人。
本书介绍了一种实用的、便于实际操作的 Drupal 模块开发方法。我们也从开发者的角度介绍了主题和安装大纲(profile)——开发人员应该熟悉的Drupal的另外两个方面。每一章都重点介绍自定义扩展的编写。使用这种方法,我们开发了好几个模块、一个主题,和一个安装大纲。不过,更重要的是,我们实际体验了如何最大限度地利用 Drupal。
看完本书后,你将扎实地了解如何构建 Drupal 模块。有了基础 API 和函数库的相关知识,你将能编写产品级的代码,最大限度地利用Drupal的能力和潜力。
本书主要内容
本书重点介绍 Drupal 6 的模块开发。每一章都在先前章节内容的基础上,介绍新的概念、函数库和API。
第一章为开发者介绍了Drupal。我们学习了Drupal的体系结构,重点是模块和主题。首先介绍了一些重要的概念,从高层次了解了基础 API 和函数库,最后我们介绍了几个有用的开发工具。
第二章我们开发了第一个模块。在本章中,我们开发的模块提取来自 XML 种子的数据,并在我们的 Drupal 站点上作为一个区块显示。在本章,你将学习模块开发基础,包括需要创建哪些文件,存放在何处。这里还介绍了 Drupal 的一个主要元件——钩子(hook)的开发。
第三章我们把讨论的重点从模块转向主题。对主题系统的了解是编写高质量模块不可或缺的知识。在本章,我们使用 CSS, HTML 和 PHPTemplate 创建一个主题。我们也学习了主题系统体系结构,以及一些 API。
第四章建立在对主题的介绍之上。在本章,我们开发一个新模块,用来处理一种自定义内容类型——quote类型。这个模块使用主题系统为显示 quote 做准备。我们的重点放在使用主题系统丰富模块。本章介绍的主题API,本身其余部分都在使用。
第五章重点是 Drupal 的 JavaScript 库。以第四章构建的模块为起点,我们使用 jQuery 库以及几个 Drupal 钩子实现了一个 AJAX (Asynchronous JavaScript and XML) 服务。这一章还介绍了数据库 API 和菜单系统。
第六章重点是构建管理模块。这个模块提供了一个接口,让管理员可以发送email 消息给用户。不过,我们不仅仅是介绍邮件 API,我们还介绍了非常重要的表单API。我们还第一次接触了 Drupal 的访问控制特性。
第七章详细讲解了 Drupal 的节点。在这一章中,我们使用了 Schema API, 数据库 API,以及节点系统构造了一种表示传记的内容类型。还介绍了模块安装文件,再次学习了表单API和访问控制机制。
第八章讨论过滤器、动作和钩子——Drupal的三个更高级的特性。我们创建了一个向用户发送新闻信件的模块。我们实现了为邮件消息准备内容的过滤器。当新闻信件准备好时,用动作和触发器自动发送。另外,还允许其它模块与这个模块交互,我们定义了一个可定制钩子,其它模块可以实现这个钩子。
第九章我们再次转轨,重点关注安装大纲。在这章中,我们构建了一个安装大纲,它可以安装 Drupal的定制版本,根据需要预装模块和主题。使用安装器,我们窥探了Drupal的内部运作方式。除了学习如何编写这个最低限度的预装环境代码以外,我们还学习了主题的注册和触发器的自动定义。
本书面向的读者
本书是为想给 Drupal 添加定制特性的 PHP 开发者编写的。你需要有些 PHP 和MySQL 编程基础,但并不要求有 Drupal 的编程经验。不过你最好熟悉 Drupal 的基本操作。
排版习惯(略)
读者反馈(略)
客户支持
很高兴你成为 Packt 书籍的读者,我们为您提供了几样东西让你能物有所值。
下载本书示例代码
访问 http://www.packtpub.com/files/code/4442_Code.zip 直接下载示例代码。下载的文件中包含使用指令。
勘误(略)
问题(略)