Latest revision as of 15:13, 8 October 2013

Contents

This page contains many links to documentation concerning Plugin Development for and . A good place to start is with the Recommending Reading articles below as they provide a good introductory base of knowledge to build on.

What is a Plugin?

A plugin is a kind of Joomla! extension. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of the Joomla! Platform. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible.

The Joomla! plugin architecture follows the Observer design pattern. The JPlugin class provides the means to register custom plugin code with core or custom events. The JDispatcher class (JEventDispatcher in Joomla 3.x) is an event handler which calls all plugins registered for a particular event, when that event is triggered.

Using Plugins

Plugins are grouped together depending on which event they run on. A full list of events grouped by event type can be found here (the names of a lot of events changed between and see here for a full list of changes). There are also several simple tutorials on making some sample plugins running on some of these events to help running searches on extensions using both the search and smart search components:

Plugin Development Articles Needed

The Joomla! Documentation Wiki needs your help! Below is a list of pages/articles needed for Plugin Development. If you know of a topic which needs to be addressed, just add it to the List of Red Links below by using the following wikimarkup.

Want or Need a New Article on Plugin Development?

To add a Red Linkclick here and add it to the Plugins Development Projects page. Please use the following wikimarkup code to add the suggested topic to the list: