Difference between revisions of "Plugin/en"

From Joomla! Documentation

(Importing a new version from external source)
(Importing a new version from external source)
(One intermediate revision by the same user not shown)
Line 8: Line 8:
  
 
===Intermediate===
 
===Intermediate===
To understand plugins better, you should [[Creating a Plugin for Joomla|create a basic plugin for Joomla!]].
+
To understand plugins better, you should [[S:MyLanguage/Creating_a_Plugin_for_Joomla|create a basic plugin for Joomla!]].
  
 
If you have a basic content plugin in a custom module or component, we recommended reading [[Triggering content plugins in your extension]].
 
If you have a basic content plugin in a custom module or component, we recommended reading [[Triggering content plugins in your extension]].
Line 17: Line 17:
 
==Using Plugins==
 
==Using Plugins==
  
Plugins are grouped together depending on which event they run on. A full list of plugins grouped by event type can be found [[Plugin/Events|here]] (the names of a lot of events changed between {{JVer|1.5}} and {{JVer|2.5}} see [[J2.5:Adapting_a_Joomla_1.5_extension_to_Joomla_2.5#Renamed_Events|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:
+
Plugins are grouped together depending on which event they run on. For developer reference there is a [[Plugin/Events|full list of plugins]] grouped by their event type. Please note, the names of a lot of events changed between the Joomla 1.5 and Joomla 2.5 versions. Here is a full list of the [[J2.5:Adapting_a_Joomla_1.5_extension_to_Joomla_2.5#Renamed_Events|1.5 to 2.5 plugin event name 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:
  
 
* [[Creating a search plugin]]
 
* [[Creating a search plugin]]

Revision as of 07:52, 12 October 2014

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Kiswahili • ‎Nederlands • ‎català • ‎eesti • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎български • ‎中文(台灣)‎ • ‎日本語

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 Joomla. 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 JEventDispatcher class is an event handler which calls all plugins registered for a particular event, when that event is triggered. In Joomla 4.x this has been moved to the \Joomla\Event\Dispatcher class in Joomla, and additionally follows the Mediator design pattern

See also: Component, Module, Template


Learning More

Beginner

To understand how to install and use a plugin in Joomla it is recommended to read Administration of a Plugin in Joomla

Intermediate

To understand plugins better, you should create a basic plugin for Joomla!.

If you have a basic content plugin in a custom module or component, we recommended reading Triggering content plugins in your extension.

Advanced

To understand the principles on which the Plugin system works Plugin Developer Overview. To then implement this in a component you have designed it is recommended to read Supporting plugins in your component.

Using Plugins

Plugins are grouped together depending on which event they run on. For developer reference there is a full list of plugins grouped by their event type. Please note, the names of a lot of events changed between the Joomla 1.5 and Joomla 2.5 versions. Here is a full list of the 1.5 to 2.5 plugin event name 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:

There are further tutorials using the user triggers on how to create an authentication plugin to help users log into Joomla and creating a profile plugin for Joomla.

A more complex example of using plugins to create a new system router to produce URLs is also available (Joomla 2.5 only).