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

More Information
  • 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.


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!

  • 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
Page Count 176
Course Length 5 hours 16 minutes
ISBN 9781847191304
Date Of Publication 11 Jun 2007


Joseph L. LeBlanc

Joseph L. LeBlanc started with computers at a very young age. His independent education gave him the flexibility to experiment and learn computer science. Joseph holds a bachelor’s degree in Management Information Systems from Oral Roberts University. Joseph is currently a freelance Joomla! extension developer. He released a component tutorial in May 2004, which was later translated into French, Polish, and Russian. Work samples and open-source extensions are available at www.jlleblanc.com. In addition to freelancing, he is a board member of the DC PHP Conference. He has also worked as a programmer for a web communications firm in Washington, DC.