Learning Drupal 6 Module Development
eBook - ePub

Learning Drupal 6 Module Development

Matt Butcher

Buch teilen
  1. 328 Seiten
  2. English
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Learning Drupal 6 Module Development

Matt Butcher

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

In Detail

With great power comes... tremendous flexibility. Drupal is an award-winning open-source Content Management System, and the feature-packed sixth release is right around the corner. It's a modular system, with an elegant hook-based architecture, and great code. These are a few of the perks that make Drupal a choice platform for developers who want the power of an established CMS, but the freedom to make it work for them. From social networking to AJAX to e-commerce, the hundreds of existing modules attest to Drupal's flexibility. When you create a new module for Drupal, it fits seamlessly into the look and feel of your overall site. If you can think it in PHP, you can code it as a Drupal module.

Dive into Drupal module development as we create the Philosopher Biographies website, developing new modules and themes to meet practical goals. Create custom content types. Add AJAX functionality with the jQuery library. Use external XML APIs to add content to your site. Email newsletters to site members. Use themes. Empower administrators with extra features. And bundle it all up in a custom installation profile. You won't find a "hello world" here!

If you're eager to start creating modules for Drupal 6, this is your book. Walk through the development of complete Drupal modules with this primer for PHP programmers. Specifically written for Drupal 6, this book will get you coding modules as quickly as possible, and help you add the features that will give your work that professional gloss!

Just getting started with Drupal development? This book will give you a clear, concise and, of course, practical guidance to take you from the basics of creating your first module to developing the skills to make you a Drupal developer to be reckoned with.

Are you a Drupal developer looking to update to version 6? This book covers the new and updated APIs to guide your transition to Drupal 6. The new menu system, the Forms and Schema APIs, and many core revisions are covered in this book.

Walk through the development of complete Drupal 6 modules with this primer for PHP programmers, written specifically for Drupal 6 to get you started coding your first module.

Are you a Drupal developer looking to update to version 6? This book covers the new and updated APIs to guide your transition to Drupal 6. The new menu system, the Forms and Schema APIs, and many core revisions are covered in this book.

 

Who this book is for

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.

Häufig gestellte Fragen

Wie kann ich mein Abo kündigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich Bücher herunterladen?
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den Aboplänen?
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Unterstützt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist Learning Drupal 6 Module Development als Online-PDF/ePub verfügbar?
Ja, du hast Zugang zu Learning Drupal 6 Module Development von Matt Butcher im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Information Technology. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2008
ISBN
9781847194442

Learning Drupal 6 Module Development

Matt Butcher


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

Learning Drupal 6 Module Development

Copyright © 2008 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: May 2008
Production Reference: 1020508
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847194-44-2
www...

Inhaltsverzeichnis