Learning Drupal 6 Module Development
eBook - ePub

Learning Drupal 6 Module Development

Matt Butcher

Condividi libro
  1. 328 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

Learning Drupal 6 Module Development

Matt Butcher

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

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.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Learning Drupal 6 Module Development è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Learning Drupal 6 Module Development di Matt Butcher in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Computer Science e Information Technology. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2008
ISBN
9781847194442
Edizione
1

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...

Indice dei contenuti