List of Plugin Events
The list of events below includes the event name and a short description of its use, together with a link to the detailed description.
As described in Joomla 4 and 5 changes, Joomla events have changed from being strings with associated parameters to "concrete" event classes specific to each event, sometimes via a "generic" event class. Some concrete event classes were introduced in Joomla 4 and others in Joomla 5. If you want your plugin to support both concrete and generic event classes then you need to code it as described in Joomla 4 and 5 changes.
The event Group refers to the group of plugins which Joomla ensures are imported prior to dispatching that event.
| Event Name | Short Description | Group | From Release |
|---|---|---|---|
| onAfterInitialise | After Joomla initialisation | Application / System | before 4.0 |
| onAfterRoute | After the router has completed | Application / System | before 4.0 |
| onAfterInitialiseDocument | After the Document has been instantiated | Application / System | 5.0 |
| onAfterDispatch | After the main component has been run | Application / System | before 4.0 |
| onBeforeRender | Before processing the template file | Application / System | before 4.0 |
| onBeforeCompileHead | Before Joomla renders the <head> section | Application / System | before 4.0 |
| onAfterRender | After the output has been prepared | Application / System | before 4.0 |
| onBeforeRespond | Before Joomla sends the HTTP response | Application / System | before 4.0 |
| onAfterRespond | After Joomla sends the HTTP response | Application / System | before 4.0 |
| onBeforeExtensionBoot | Before an extension is booted | Application / System | 4.0 |
| onAfterExtensionBoot | After an extension is booted | Application / System | 4.0 |
| onContentPrepare | Modifying content displayed in a View | Content | before 4.0 |
| onContentAfterTitle | Injecting HTML after the title | Content | before 4.0 |
| onContentBeforeDisplay | Injecting HTML before the main page content | Content | before 4.0 |
| onContentAfterDisplay | Injecting HTML after the main page content | Content | before 4.0 |
| onContentPrepareData | Modifying pre-fill data for a form | Content | before 4.0 |
| onContentPrepareForm | Modifying a form | Content | before 4.0 |
| onContentNormaliseRequestData | Before POST data validation, triggered by Controller | Content | 4.0 |
| onContentBeforeValidateData | Before POST data validation, triggered by Model | Content | 4.0 |
| onContentBeforeSave | In Model, before new/updated data is saved | Content | before 4.0 |
| onContentAfterSave | In Model, after new/updated data is saved | Content | before 4.0 |
| onContentBeforeDelete | In Model, before a record is deleted | Content | before 4.0 |
| onContentAfterDelete | In Model, after a record is deleted | Content | before 4.0 |
| onContentBeforeChangeState | In Model, before a set of records changes state | Content | 4.0 |
| onContentChangeState | In Model, after a set of records changes state | Content | before 4.0 |
| onCategoryChangeState | In Model, before a set of category records changes state | Content | before 4.0 |
| onInstallerAddInstallationTab | In com_installer, in building the Install / Extensions form | Installer | before 4.0 |
| onInstallerBeforePackageDownload | In Installer, before a package is downloaded | Installer | before 4.0 |
| onInstallerBeforeUpdateSiteDownload | In Installer, before an update site is downloaded | Installer | 5.3 |
| onInstallerBeforeInstallation | At the beginning of the installation of a package / extension | Installer | before 4.0 |
| onInstallerBeforeInstaller | After zip files extracted, before extension installation | Installer | before 4.0 |
| onInstallerAfterInstaller | After extension installation | Installer | before 4.0 |