万本电子书0元读

万本电子书0元读

顶部广告

Learning Drupal 6 Module Development电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Matt Butcher

出  版  社:Packt Publishing

出版时间:2008-05-08

字       数:266.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This book is written for PHP developers who want to add custom features to Drupal. You will need to know the basics of PHP and MySQL programming, but no experience of programming Drupal is required, although you will be expected to be familiar with the basic operation of Drupal.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部