27.3 Joomla!-Plugin-Events
Der erste Ansatz bei der Entwicklung eines Plugins ist das Finden des richtigen Ereignisses, das die Ausführung Ihres Plugin-Codes auslöst. Dabei gibt es Basiskategorien, die Core-Komponenten entsprechen, und darunter konkrete Events, z. B. bevor ein Beitrag gespeichert wird, nachdem sich ein Benutzer eingeloggt hat oder bevor Joomla! die Frontend-Webseite erzeugt.
Die folgende Tabelle verschafft Ihnen einen Überblick über die wichtigsten Ereignisse. Haben Sie den passenden Handler für Ihr Plugin gefunden, sehen Sie sich Beispielimplementierungen anderer Entwickler an, indem Sie ein thematisch ähnliches Plugin herunterladen und studieren und Implementierungsdiskussion unter http://forum.joomla.org einsehen. Suchen Sie dort nach dem Wortlaut des Ereignishandlers, achten Sie aber auf ein verhältnismäßig aktuelles Datum der Diskussion (mindestens 2014, 2015), damit Sie keine Implementierungsbeispiele für Joomla! 1.6 als Vorlage verwenden.
Plugin-Typ | Ereignishandler | Beschreibung |
---|---|---|
authentication | onUserAfterLogin | nach der Anmeldung eines Benutzers |
onUserAuthenticate | Während der Authentifizierung eines Benutzers; an diese Stelle lassen sich z. B. eigene Authentifizierungsmethoden einfügen. | |
content | onContentAfterDelete | Nach dem Löschen von Datenbankeinträgen; üblicherweise steht hier eine Umleitung auf eine bestimmte Website, z. B. eine Übersicht. |
onContentAfterDisplay | Unmittelbar nach der Inhaltsausgabe; hier wird kein Content modifiziert, sondern ans Ende hinzugefügt. | |
onContentAfterSave | nach dem Speichern von Inhalten; z. B. um den Benutzer zu einer Bestätigung, Zusammenfassung oder Übersicht weiterzuleiten | |
onContentAfterTitle | Inhaltezusammenstellung zwischen Beitragstitel und -fließtext; vornehmlich zur internen Verwendung | |
onContentBeforeDelete | Vor dem Löschen von Datenbankeinträgen; abhängig von definierten Bedingungen ist der Löschvorgang abbrechbar. | |
onContentBeforeDisplay | unmittelbar vor der Inhaltsausgabe; modifiziert nicht die Inhalte, sondern eignet sich, um z. B. ergänzende CSS-Formatierungen vor den Fließtext zu stellen | |
onContentBeforeSave | Kurz bevor Inhalte in der Datenbank gespeichert werden, lassen sich an dieser Stelle Validierungen durchführen, die auch zum Abbruch des Speichervorgangs führen dürfen. | |
content | onContentChangeState | nach der Änderung des Status eines Inhaltselements, z. B. Veröffentlicht oder Versteckt |
onContentPrepare | erste Stufe der Ausgabevorbereitungen für Beiträge und wichtigster Einstiegspunkt für alle Plugins, die Inhalte modifizieren | |
onContentPrepareData | während der Zusammenstellung des Datenteils eines Joomla!-Formulars (JForm), z. B. zur Vorbereitung der Felder einer Dropdown-Liste | |
onContentPrepareForm | während der Zusammenstellung des Formularlayouts eines Joomla!-Formulars; nützlich, um z. B. Felder zu modifizieren | |
onContentSearch | Anfrage nach Inhaltssuchergebnissen | |
system | onAfterDispatch | Nach Übergabe von Daten an eine Komponente – ab jetzt ist die Antwortausgabe der Komponente verfügbar. |
onAfterInitialise | nach Laden des Joomla! Frame- works und Initialisierung des Content-Management-Systems | |
onAfterRender | nach Übergabe der Komponenten-Antwortdaten an das Template und Vorbereitung der Serverantwort an den Client | |
onAfterRoute | Nach Joomla!-Initialisierung und Bestimmung, welche Komponente für die Darstellung der angeforderten Seite zuständig ist; mit Route ist der Weg der Serveranfrage durch die Applikation gemeint. | |
onBeforeCompileHead | vor Zusammenstellung des Dokument-Headers | |
system | onBeforeRender | kurz vor Versand der von der Komponente vorbereiteten Daten an das Template |
onGetWebService | Anlaufstelle für Web-Services, um externe Anfragen zu bearbeiten | |
user | onUserAfterDelete | nach dem Löschen eines Benutzers |
onUserAfterSave | Nach dem Speichern eines Benutzerprofils; die alten Daten sind in diesem Event nicht mehr verfügbar. | |
onUserBeforeDelete | kurz vor dem Löschen eines Benutzers aus der Datenbank | |
onUserBeforeSave | Vor dem Speichern von Änderungen am Benutzerprofil; dem Ereignis stehen sowohl alte als auch neue Daten zur Verfügung, um Validierungen durchzuführen und gegebenenfalls das Speichern zu verweigern. | |
onUserLogin | nach dem Anmelden eines Benutzers | |
onUserLogout | nach dem Abmelden eines Benutzers |