Plugin-Entwicklung
From Joomla! Documentation
Diese Seite enthält viele Links zu Artikeln bezüglich der Entwicklung von Plugins für und . Einen guten Einstieg bieten die Artikel im Abschnitt Zum Lesen empfohlen unten, da sie eine gute einführende Basis bilden, um dann darauf aufzubauen.
Ein Plugin ist eine Art Joomla!-Erweiterung. Plugins bieten Funktionen, die durch bestimmte events (Ereignisse) im Code ausgelöst werden. Joomla bietet bereits eine Reihe von Plugin-Events, aber jede Erweiterung kann (benutzerdefinierte) Events auslösen. Wenn ein bestimmtes Ereignis eintritt, werden alle Plugin-Funktionen, die dem Ereignis zugeordnet sind, nacheinander ausgeführt. Dies ist eine leistungsstarke Möglichkeit, die Funktionalität von Joomla! zu erweitern. Entwickler von Erweiterungen können anderen Erweiterungen erlauben, auf ihre Aktionen zu reagieren, wodurch Erweiterungen erweiterbar werden.
Die Plugin-Architektur von Joomla! folgt dem Observer design pattern. Die JPlugin-Klasse bietet die Möglichkeit, benutzerdefinierten Plugin-Code an Kern- oder benutzerdefinierten Ereignisse zu binden. Die Klasse JDispatcher ist ein Event-Handler, der alle für ein bestimmtes Ereignis registrierten Plugins aufruft, wenn dieses Ereignis ausgelöst wird. In Joomla 4.x wurde dieser in die Klasse \Joomla\Event\Dispatcher verschoben und folgt zusätzlich dem Mediator design pattern.
Siehe auch: Komponente, Modul, Template
Verwendung von Plugins
Plugins werden nach dem auslösendem Event gruppiert. Eine vollständige Liste der Events, die nach Typ gruppiert sind, ist hier zu finden. (Die Namen vieler Events wurden zwischen und geändert, siehe hier für eine vollständige Liste der Änderungen). Es sind auch mehrere einfache Anleitungen zur Erstellung einiger Beispiel-Plugins vorhanden, die mit einigen dieser Events ausgeführt werden, um die Ausführung von Suchen in Erweiterungen zu erleichtern, die sowohl die Such- als auch die Smart-Search-Komponente verwenden:
Es gibt weitere Tutorials zu den Auslösern des Typs Benutzer, mit denen man ein Authentifizierungs-Plugin für die Benutzeranmeldung in Joomla und ein Profil-Plugin für Joomla erstellen kann.
Inhalts-Plugins können verwendet werden, um den Kernkomponenten benutzerdefinierte Felder hinzuzufügen. Das folgende Tutorial erklärt die Vorgehensweise und wie das neue Feld auf der Website angezeigt werden kann.
Ein komplexeres Beispiel für die Erstellung eines System-Plugins zur Erweiterung von JRouter zur Erstellung von URLs ist ebenfalls verfügbar. (nur ).
Zum Lesen empfohlen
Die hier aufgeführten Artikel sollen Entwickler mit Joomla!-Plugins vertraut machen. Sie sind ein guter Ausgangspunkt, um Plugins besser zu verstehen und anschließend mit der Entwicklung von Plugins zu beginnen.
Anfänger
Um zu verstehen wie Plugins in Joomla installiert und genutzt werden, ist es empfehlenswert Verwaltung eines Plugin in Joomla! zu lesen.
Fortgeschrittene
Um Plugins besser zu verstehen, wird empfohlen, ein einfaches Plugin für Joomla! zu erstellen.
Um zu verstehen, wie ein Inhaltsplugin in einem benutzerdefinierten Modul oder einer benutzerdefinierten Komponente eingesetzt wird, sollte man folgendes lesen: Inhaltsplugins in der eigenen Erweiterung auslösen.
weit Fortgeschrittene
Zum Verständnis der Grundlagen des Plugin-Systems gibt es eine Übersicht zur Entwicklung von Plugins. Um dies in eine Komponente zu implementieren, die vielleicht schon entwickelt wurde, bitte Unterstützung von Plugins in eigenen Komponenten lesen.
Tutorials
Dies ist eine Liste aller Artikel, die zu den Kategorien "Tutorials" UND "Plugin-Entwicklung" innerhalb der Joomla!-Dokumentation gehören.
Gewünschte Artikel zur Plugin-Entwicklung
Das Joomla! Dokumentations-Wiki braucht deine Hilfe! Weiter unten findest du eine Liste von Seiten und Beiträgen, die für diese Seite benötigt werden. Wenn du ein Thema kennst, dass hierher gehört, füge es der Liste der roten Links hinzu, indem du das folgende Wiki-Markup verwendest.
, um einen roten Link hinzuzufügen und füge ihn dann der Seite Projekte zur Plugin-Entwicklung hinzu. Bitte benutze den folgenden Wikimarkup-Code, um das vorgeschlagene Thema zur Liste hinzuzufügen:
*[[Put your Plugin Article name here]]
Liste der roten Links für gewünschte Beiträge zum Thema Plugin-Entwicklung: