售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Learning Drupal 6 Module Development
Table of Contents
Learning Drupal 6 Module Development
Credits
About the Author
About the Reviewers
Preface
What This Book Covers
Who Is This Book For?
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
1. Introduction to Drupal Modules
Drupal's Architecture
Module Architecture
Core Modules
Hooks
Themes
Crucial Drupal Concepts
Nodes
Comments Are Not Nodes
Users
Access and Security
Blocks and Page Rendering
Menus
Forms
Database and Schema APIs
Developers' Tools
Developer Module
Coder Module
A Word on Our Demonstration Site
Summary
2. Creating Our First Module
Starting Out
A Place for the Module
Creating a .info File
A Basic .module File
Our Goal: A Block Hook
Starting the .module
The hook_block() Implementation
The t() Function
A view Operation
Installing a Module
Step 1: Copying the Module
Step 2: Enabling the Module
Step 3: Displaying the Module's Content
Using Goodreads Data
Modifying the Block Hook
Retrieving XML Content over HTTP
The watchdog() Function
Processing the HTTP Results
Formatting the Block's Contents
Finishing Touches: hook_help()
Summary
3. The Theme System
The Theme System's Architecture
Theme Templates
Theme Engines
Theme Hooks
Creating a Custom Theme
Organization of Themes
Sub-themes (Derivative Themes)
How Each Theme Functions
Creating a Theme
Creating the Theme Directory
A .info File
A CSS Stylesheet
A PHPTemplate Theme
Template Structure
A Page Template for Descartes
Using PHP to Override Theme Behavior
Custom Breadcrumbs
Interacting with Other Theme Functions
template.php Gotchas
Creating a Screenshot
From Here to a Full Theme
Summary
4. Theming Modules
Our Target Module: What We Want
Creating a Custom Content Type
Using the Administration Interface to Create a Content Type
Content and Nodes
The Foundations of the Module
A Simple Database Lookup
Getting the Node ID
Getting the Node's Content
Theming Inside a Module
Registering a Theme
Creating a Theme Hook Function
Adding a Stylesheet
Overriding the Default Theme from a Theme
A Quick Clarification
Overriding the Default Theme's CSS
Overriding Layout with Templates
Summary
5. Using JavaScript and AJAX/JSON in Modules
Picking up Where We Left Off
Introducing jQuery
Modifying HTML with jQuery
Checking for JavaScript Support with Drupal
Namespaces in JavaScript
Drupal's Namespace
A Drupal Function: Drupal.jsEnabled()
Delaying JavaScript Execution with jQuery
Including JavaScript from the Module's Theme
Writing a Drupal AJAX/JSON Service
The JSON Format
Our Module Roadmap
Server Side: Defining a New Page
Creating a JSON Message
Mapping a Function to a URL
Passing PHP Settings to JavaScript
Client Side: AJAX Handlers
A JavaScript Function to Get JSON Content
Adding an Event Handler
Summary
6. An Administration Module
The emailusers Module
The Beginning of the Module
Mail Configuration
Registering an Administration Page
A Detailed Look at the Path
Marking the Path as an Administration Page
Path Registration Parameters
Defining the Callback Function
Handling Forms with the Forms API (FAPI)
Loading a Form with drupal_get_form()
A Form Constructor
Handling Form Results
The Form Submissions Callback
Sending Mail with the Mail API
Formatting Mail with hook_mail()
Altering Messages with hook_mail_alter()
Altering Hooks
Adding a Mail Footer
Incorporating the Module into Administration
Modifying the User Profile with hook_user()
Constructing the Content
Summary
7. Building a Content Type
The biography Module
The Content Creation Kit
The Starting Point
The Module Installation Script
The Schema API: Defining Database Structures
A First Look at the Table Definition
Defining Fields (Columns)
Defining Keys and Indexes
Correlating the New Table with Nodes
The Content Creation Form
Overriding hook_form() Defaults
Adding New hook_form() Form Elements
Access Controls
Database Hooks
Database Inserts with hook_insert()
Updating and Deleting Database Records
Hooks for Getting Data
Loading a Node with hook_load()
Preparing the Node for Display with hook_view()
Theming Biography Content
Registering a Theme
The biography_info.tpl.php Template
The Results
Summary
8. Filters, Actions, and Hooks
The sitenews Module
Getting Started
Citing Dependencies in the .info File
The Beginning of the .module File
A Simple Content Type, Defined in Code
Creating Filters and an Input Format
Creating Filters
The First Filter: News Brief Placeholders
The Second Filter: Remove All Tags
Adding an Input Format
The Beginning of an Action
Implementing hook_action_info()
The Action Callback
Defining a Hook
Invoking a Custom Hook
So What Is a Hook?
Creating a hook_sitenews() Function
Implementing hook_sitenews() in Other Modules
In the philquotes Module
In the biography Module
Theming Content before Returning It
Completing the Action: Theming and Mailing
Theme Functions
The hook_mail() Implementation
Adding a Trigger
Summary
9. An Installation Profile
Introducing Installation Profiles
Why Use Installation Profiles?
Setting up a Distribution
Creating a Profile Directory
Programming Profiles
The .profile Script
The Details Function
The Modules List
The Installation Task System
The Profile Task
A Basic Profile Task
A Complex Profile Task
Creating a Content Type
Creating a Trigger
Moving to the Next Task
The 'profile' Task is Special
Registering a New Task
The Theme Selection Form
Returning to the philosopherbios_pick_theme Task
The Submission Handler
Finishing the Installation Profile
Packaging the Distribution
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜