Book Image

Learning Joomla! 1.5 Extension Development

Book Image

Learning Joomla! 1.5 Extension Development

Overview of this book

Table of Contents (17 chapters)
Learning Joomla! 1.5 Extension Development
Credits
About the Author
About the Reviewer
Preface

How to extend Joomla!


There are five types of extensions that Joomla! supports templates, languages, components, modules, and plug-ins. Templates are used to control the overall look and feel of your site, using HTML and CSS. Languages are used to translate the text labels of the Joomla! user interface through the use of a simple text file. Components, modules, and plug-ins are primarily PHP-based, and will be the focus of this book.

Components

Of the extensions available, components are the most crucial. Components are essentially what you see in the "main" portion of the page. Joomla! is designed to load and run exactly one component for each page generated. Consequently, Joomla!'s core content management functionality itself is a component.

Components frequently have sophisticated backend controls. The backend is commonly used to create and update records in database tables; it can also run PHP code not specific to Joomla!. For instance, you may have an existing program that sends emails to a large list of subscribers. Instead of making your users log into this program separately, you can provide a link in the backend through which non-programmers can tell the program to send a message. You can also create component backends, which allow site administrators to upload pictures or videos.

Modules

In contrast to components, any number of modules can appear on a page. They are frequently used to create sidebars, banners, and menus. Modules complement the contents of a component; they are not intended to be the main substance of a page. Joomla! also allows administrators to add their own text into custom modules called content modules; these involve no programming and can be displayed alongside coded components. The backend controls for modules are limited, typically consisting of basic formatting.

Plug-ins

When a piece of code is needed throughout the site, it is best implemented as a plug-in (formerly called a Mambot). Plugins are commonly used to format the output of an article, component, or module when a page is built. Some examples of plug-ins include keyword highlighting, article comment boxes, and JavaScript-based HTML editors. Plugins can also be used to add different types of data to the results found in the core search component. The backend controls for plug-ins are similar to those of modules.