O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Joomla! 1.5 Extension Development

Book Description

If you're a PHP programmer eager to create extensions for Joomla!, this book is for you. Written for Joomla! 1.5, it gets you coding your first extensions as quickly as possible, and adds features that will make your work look professional! The world's hottest open-source content management system, Joomla! won the 2006 Open Source CMS Prize. Already feature packed, it is also extremely extensible, allowing multiple complex applications to be cleanly integrated, inheriting the look and feel of one Joomla! site, with only one database, template, and core to maintain. This practical tutorial is based around the development of example extensions to create, find, promote, and cross-link restaurant reviews. Each chapter is a step-by-step walkthrough, covering modules, components, and plugins as well as configuration and packaging for distribution. Readers need basic PHP skills and familiarity with the general operation of Joomla! but do not need experience of developing Joomla! extensions.

Table of Contents

  1. Learning Joomla! 1.5 Extension Development
  2. Credits
  3. About the Author
  4. About the Reviewer
  5. Preface
    1. What This Book Covers
    2. Conventions
    3. Reader Feedback
    4. Customer Support
      1. Downloading the Example Code for the Book
      2. Errata
      3. Questions
  6. 1. Joomla! Extension Development: An Overview
    1. Why Extend Joomla!
    2. Customization versus Extension
    3. How to Extend Joomla!
      1. Components
      2. Modules
      3. Plug-Ins
    4. Topic Overview
      1. Creating Toolbars and List Screens
      2. Maintaining a Consistent Look and Reducing Repetitive Code Using HTML Functions
      3. Accessing the Database and Managing Records
      4. Security and the Preferred Way of Getting Request Variables
      5. Menu Item Control
      6. Controlling the Logic Flow Within a Component
      7. Configuration Through XML Parameters
      8. Packaging and Distributing
    5. Our Example Project
    6. Summary
  7. 2. Getting Started with Component Development
    1. Joomla!’s Component Structure
    2. Executing the Component
    3. Joomla!’s Division between Front End and Back End
    4. Registering Your Component in the Database
    5. Creating Toolbars
      1. Available Toolbar Buttons
    6. Summary
  8. 3. Back-End Development
    1. Creating the Database Table
    2. Creating a Table Class
    3. Creating the Review Form
    4. Processing the Data
    5. Creating a List Screen
    6. Editing Records
    7. Deleting Records
    8. Summary
  9. 4. Front-End Development
    1. Listing the Reviews
    2. Displaying a Review
    3. Generating Search-Engine Friendly Links
      1. Building URL Segments
      2. Parsing URL Segments
    4. Adding Comments
    5. Displaying Comments
    6. Summary
  10. 5. Module Development
    1. Registering the Module in the Database
    2. Creating and Configuring a Basic Module
      1. Recruiting Some Helpers
      2. Try Some Different Layouts
      3. Mixing it Up
    3. Summary
  11. 6. Expanding the Project
    1. Model, View, Controller: Why?
    2. Building Data Models
      1. Modeling All Reviews
      2. Modeling Individual Reviews
    3. Migrating to Views
      1. Viewing All
      2. Viewing One
    4. Switching Through Controllers
      1. Updating Links and Routes
    5. Reorganizing the Back-End Code
    6. Publishing Controls for Reviews
    7. Adding Pagination
    8. Management for Comments
    9. Additional Toolbars
    10. Summary
  12. 7. Behind the Scenes: Plug-Ins
    1. Database Queries
    2. A Simple Link Plug-In
    3. An Information Box Plug-In
    4. Searching the Reviews
    5. Summary
  13. 8. Configuration Settings
    1. Adding Parameters to Extensions
    2. Parameters for Modules
    3. Parameters for Plug-Ins
    4. Parameters for Components
    5. Summary
  14. 9. Packing Everything Together
    1. Listing All Files
    2. Packaging the Module
    3. Packaging Plug-ins
    4. Packaging the Component
    5. Including SQL Queries
    6. Creating Back-End Menu Items
    7. Extra Installation Scripts
    8. Distribution
    9. Summary