Difference between revisions of "Plugin Development"
From Joomla! Documentation
m (Marked for translation) |
(Marked this version for translation) |
||
Line 1: | Line 1: | ||
<noinclude><languages /></noinclude> | <noinclude><languages /></noinclude> | ||
− | {{Chunk:Plugin/<translate>en</translate>}} | + | {{Chunk:Plugin/<translate><!--T:1--> |
+ | en</translate>}} | ||
<translate> | <translate> | ||
+ | <!--T:2--> | ||
[[Category:Extension development]] | [[Category:Extension development]] | ||
[[Category:Plugins]] | [[Category:Plugins]] | ||
[[Category:Development]] | [[Category:Development]] | ||
</translate> | </translate> |
Latest revision as of 15:05, 10 March 2015
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
Pages in category "Plugin Development"
The following 105 pages are in this category, out of 105 total.
A
- Accessing the current user object
- Archived:Adapting a Joomla 1.5 extension to Joomla 2.5
- Adding custom fields to core components using a plugin
- Adding custom fields to core components using a plugin/bn
- Adding custom fields to core components using a plugin/de
- Adding custom fields to core components using a plugin/en
- Adding custom fields to core components using a plugin/fa
- Adding custom fields to core components using a plugin/it
- API Guides
C
- Cache Basic API Guide
- Categories and CategoryNodes API Guide
- Constants
- J2.5:Creating a content plugin
- J3.x:Creating a content plugin
- J3.x:Creating a content plugin/en
- J1.5:Creating a Plugin for Joomla
- Creating a Plugin for Joomla
- J2.5:Creating a Plugin for Joomla
- J3.x:Creating a Plugin for Joomla
- J4.x:Creating a Plugin for Joomla
- J3.x:Creating a Plugin for Joomla/en
- Creating a Plugin for Joomla/en
- Creating a Plugin for Joomla/fr
- J3.x:Creating a Plugin for Joomla/ru
- J3.x:Creating a Plugin for Joomla/zh-tw
- Creating a profile plugin
- Creating a profile plugin/en
- Creating a search plugin
- J2.5:Creating a search plugin
- J3.x:Creating a search plugin
- J3.x:Creating a search plugin/en
- Creating a Smart Search plug-in
- Creating a Smart Search plug-in/de
- Creating a Smart Search plug-in/en
- Creating a Smart Search plug-in/zh-tw
- J2.5:Creating a System Plugin to augment JRouter
- J2.5:Creating an Authentication Plugin for Joomla
- J3.x:Creating an Authentication Plugin for Joomla
- Creating an Authentication Plugin for Joomla
- J4.x:Creating an Authentication Plugin for Joomla
- J3.x:Creating an Authentication Plugin for Joomla/en
E
- Plugin/Events
- Plugin/Events/Install
- Plugin/Events/Module
- Plugin/Events/Module/en
- Plugin/Events/Module/nl
- Plugin/Events/ca
- Plugin/Events/en
- Plugin/Events/es
- Plugin/Events/fa
- Plugin/Events/fr
- Plugin/Events/id
- Plugin/Events/nl
- Plugin/Events/pt-br
- Plugin/Events/zh-tw
- Extension Installer
- Extension Installer/en
- Extension Installer/Installer Hooks
- Extension Installer/Installer Hooks/en
- Extension Installer/Triggers
- Extension Installer/Writing a new installer adapter
- Extension Installer/Writing a new installer adapter/en
- Extensions distribution
- Extensions distribution/de
- Extensions distribution/en
- Extensions GPL notices
- Extensions GPL notices/de
- Extensions GPL notices/en
P
- Portal:Plugin Development
- Portal:Plugin Development/en
- Portal:Plugin Development/zh-tw
- Plugin/Events/Captcha
- J1.5:Plugin/Events/Contact
- Plugin/Events/Contact
- Plugin/Events/Content
- J1.5:Plugin/Events/Editor
- Plugin/Events/Editor
- Plugin/Events/Extension
- Plugin/Events/Finder
- Plugin/Events/Privacy
- Plugin/Events/Quickicon
- J1.5:Plugin/Events/System
- Plugin/Events/System
- J1.5:Plugin/Events/User
- Plugin/Events/User