Plugin
m |
m (Added category) |
||
| Line 9: | Line 9: | ||
==Events== | ==Events== | ||
{{:Plugin/Events}} | {{:Plugin/Events}} | ||
| − | <noinclude>[[Category:Landing Pages]][[Category:Glossary]][[Category:Development]][[Category:Plugins]]</noinclude> | + | <noinclude>[[Category:Extensions| Plugin]][[Category:Landing Pages]][[Category:Glossary]][[Category:Development]][[Category:Plugins]]</noinclude> |
Latest revision as of 12:02, 10 February 2012
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! Framework. 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 is derived from JObserver and provides the means to register custom plugin code with core or custom events. The JEventDispatcher class, derived from JObservable, is an event handler which calls all plugins registered for a particular event, when that event is triggered.
See also: Component, Module, Template
Useful reference: Gallery 2: Embedding: Event-Based Loose-Coupled Integration
Contents |
[edit] Recommended Reading
[edit] Developers
- Plugin Developer Overview
- Creating a Plugin for Joomla 1.5
- Creating a content plugin
- Creating a search plugin
- Creating a Smart Search plug-in
- Creating an Authentication Plugin for Joomla 1.5
- Supporting plugins in your component
- Triggering content plugins in your extension
- Creating a System Plugin to augment JRouter
For more developer information, see Plugin Development.
[edit] Events
Joomla! ships with a variety of core events, organised into groups. These are described in the following topics.
[edit] Authentication
[edit] Captcha
[edit] Content
- onAfterDisplay
- onAfterContentSave
- onAfterDisplayTitle
- onAfterDisplayContent
- onPrepareContent
- onBeforeDisplay
- onBeforeContentSave
- onBeforeDisplayContent
- onContentPrepareForm
- onContentPrepareData
- onContentAfterDelete
- onContentBeforeDelete

- onContentBeforeDisplay

- onContentAfterDisplay

- onContentBeforeSave

- onContentAfterSave

- onContentChangeState
- onContentPrepare

- onContentSearch

- onContentSearchAreas

- onContentAfterTitle
[edit] Contact
[edit] Editors
- onCustomEditorButton (editors-xtd)
- onInit
- onSave
- onSetContent
- onDisplay
- onGetContent
- onGetInsertMethod
[edit] Extensions
[edit] Finder
- onFinderCategoryChangeState
- onFinderChangeState
- onFinderAfterDelete
- onFinderAfterDelete
- onFinderBeforeSave
- onFinderAfterSave
[edit] Quick Icons
[edit] Search
[edit] System
- onAfterInitialise
- onAfterRoute
- onAfterDispatch
- onAfterRender
- onBeforeRender
- onBeforeCompileHead
- onSearch
- onSearchAreas
- onGetWebServices
[edit] User
- onBeforeDeleteUser
- onAfterDeleteUser
- onBeforeStoreUser
- onAfterStoreUser
- onLoginUser
- onLoginFailure
- onLogoutUser
- onLogoutFailure
- onUserBeforeSave
- onUserAfterSave
- onUserBeforeDelete
- onUserAfterDelete
- onUserLogin
- onUserLogout
- onUserLogout
- onUserAuthenticate
- onUserAuthorisation