Free Sample
+ Collection

Learning Joomla! 1.5 Extension Development: Creating Modules, Components, and Plugins with PHP

Joseph L. LeBlanc

A practical tutorial for creating your first Joomla! 1.5 extensions with PHP
RRP $23.99
RRP $34.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781847191304
Paperback176 pages

About This Book

  • Program your own extensions to Joomla!
  • Create new, self-contained components with both back-end and front-end functionality
  • Create configurable site modules to show information on every page
  • Distribute your extensions to other Joomla! users


Who This Book Is For

This book is suitable for PHP programmers who want to take their first step in customizing and extending the features of Joomla! through custom PHP development. It is not a reference guide for advanced Joomla! developers.

You need only the basics of PHP programming; no experience of developing Joomla! extensions is assumed. You are expected to be familiar with the general operation of Joomla!

Table of Contents

Chapter 1: Joomla! Extension Development: An Overview
Why Extend Joomla!
Customization versus Extension
How to Extend Joomla!
Topic Overview
Our Example Project
Chapter 2: Getting Started with Component Development
Joomla!’s Component Structure
Executing the Component
Joomla!’s Division between Front End and Back End
Registering Your Component in the Database
Creating Toolbars
Chapter 3: Back-End Development
Creating the Database Table
Creating a Table Class
Creating the Review Form
Processing the Data
Creating a List Screen
Editing Records
Deleting Records
Chapter 4: Front-End Development
Listing the Reviews
Displaying a Review
Generating Search-Engine Friendly Links
Adding Comments
Displaying Comments
Chapter 5: Module Development
Registering the Module in the Database
Creating and Configuring a Basic Module
Chapter 6: Expanding the Project
Model, View, Controller: Why?
Building Data Models
Migrating to Views
Switching Through Controllers
Reorganizing the Back-End Code
Publishing Controls for Reviews
Adding Pagination
Management for Comments
Additional Toolbars
Chapter 7: Behind the Scenes: Plug-Ins
Database Queries
A Simple Link Plug-In
An Information Box Plug-In
Searching the Reviews
Chapter 8: Configuration Settings
Adding Parameters to Extensions
Parameters for Modules
Parameters for Plug-Ins
Parameters for Components
Chapter 9: Packing Everything Together
Listing All Files
Packaging the Module
Packaging Plug-ins
Packaging the Component
Including SQL Queries
Creating Back-End Menu Items
Extra Installation Scripts

What You Will Learn

  •     Code Joomla! components, modules, and plugins from the ground up
  •     Create toolbars, list screens, and menu items
  •     Maintain a consistent look and reduce repetitive code using HTML functions
  •     Automate database record management
  •     Validate input and resist hack attempts
  •     Configure your modules through XML parameters
  •     Package and distribute your extensions

Chapter 1 introduces Joomla! extensions, and gives an overview of how Joomla! can be extended through components, modules, and plugins.

In Chapter 2, you will learn about the architecture, design, and requirements of a general component. You will also see how the component gets executed and is registered with the database. At the end, you will learn to create toolbars.

Chapter 3 takes you through a tour of back-end development. The chapter deals with creating a database table to hold the reviews of the restaurant, setting up a basic form for data entry, and processing data and adding it to the database. You will see how to list your existing reviews and modify your reviews.

Chapter 4 deals with the front-end development. You will see how to list and display your reviews, and add and display comments for your reviews.

Chapter 5 is about module development. Starting with registering your module in the database, the chapter then shows you how to create and configure a basic module using helper classes to centralize data access and output, and how to display the latest reviews or a random review.

Chapter 6 deals with expanding your project with the Model, View, and Controller pattern. You will learn how to build data models, how to migrate to views, and how a controller is used to handle the logic flow of the component. It also introduces you to the concept of pagination and shows you how to add pagination and at the end how to display additional toolbars.

Chapter 7 is completely dedicated to plugins. You will create a link plugin, and an information box plugin. At the end, you will see how to use plugins to enable searching of your reviews.

In Chapter 8, you will see the configuration settings for extensions; modules, components, and plugins.

In Chapter 9, you will see how to package a completed component and module for deployment.

In Detail

Joomla! is the world's hottest open-source content management system, and the winner of the 2006 Open Source CMS Prize.

While Joomla! is packed with features, its greatest quality is that it is extremely extensible, allowing any number of complex applications to be cleanly integrated. Shopping carts, forums, social networking profiles, job boards, and real estate listings are all examples of extensions developers have written for Joomla!. All of these can run off one Joomla! site, while only one database, template, and core need to be maintained. When you build an extension to Joomla!, it will inherit the look and feel of the overall site. Any type of program that can be coded in PHP is a potential component waiting to be written!

If you're eager to start creating extensions for Joomla!, this book is for you. Walk through the development of complete Joomla! components and modules with this tutorial for PHP programmers. Written for Joomla! version 1.5 and tested against pre-final releases, this book will get you started coding your first extensions as quickly as possible, and adds the features that will make your work look professional!

The book builds example extensions to create, find, promote, and cross-link restaurant reviews. A component will handle common data items seen across all reviews such as price range, reservations, cuisine type, and location. Your visitors will be able to search and sort through the reviews; adding their own criteria to zero in on their dining options for the evening.

Your modules will highlight new reviews, drawing the attention of frequent visitors. Finally, plugins will pull pieces of the reviews into feature articles and others will integrate them into searches. Even if you don't own a restaurant, you will still find the code applicable to your own development projects, and the skills you develop will make you a Joomla! developer to be reckoned with!


Read More