A rapid and easy-to-follow introductory tutorial to help you use PHP code to create your first Joomla! extensions: modules, components, and plugins.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!
What you will learn from this book
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.
Approach
A practical tutorial, based around the development of coherent example throughout the book. Each chapter walks you through the steps to add a required feature to the extension.
Who this book is written 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!