Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Installation
3 Frontend
4 Backend
5 Inhalte erstellen und verändern
6 Eine erste Webseite
7 Das Website-Design
8 Benutzer und Bereiche
9 Module, Plug-ins, Komponenten
10 Pflege der Webseite
11 Eine Site aufbauen
12 Was macht ein Template aus?
13 Tools zur Template-Erstellung
14 Barrierefreiheit
15 Aus der Trickkiste
16 Joomla! als professionelle Geschäftsplattform
17 Online-Shop: VirtueMart
18 Formulare: BreezingForms und ChronoForms
19 Dokumentenverwaltung: Docman und Attachments
20 Kalender: JEvent und iWebCal
21 Bildergalerien: Zoom Media Gallery und JoomGallery
22 Joomla! als Community-Treff
23 Weblogs: IDoBlog und MMS Blog
24 Wiki: JoomlaWiki
25 Forum: FireBoard
26 Gästebücher
27 Noch mehr Kommunikation
28 Installation beim Webhost
29 Backup und Upgrade
30 Tools
31 Standard-Erweiterungen
32 Mehrsprachigkeit
33 Suchmaschinenoptimierung
34 Statistik
35 Performance
36 Datentransfer und FTP-Modus
37 Sicherheit
38 Troubleshooting
39 Mein erstes Modul
40 Die Joomla!-API
41 Plug-ins erstellen
42 Eine eigene Komponente
A Parameter der unterschiedlichen Menütypen
B Die Joomla!-API
C Glossar
D Inhalt der DVD
Stichwort

Download:
- ZIP, ca. 28,5 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Joomla! 1.5 von Anja Ebersbach, Markus Glaser, Radovan Kubani
Das umfassende Handbuch
Buch: Joomla! 1.5

Joomla! 1.5
geb., mit DVD
820 S., 34,90 Euro
Galileo Computing
ISBN 978-3-89842-881-1
Pfeil 41 Plug-ins erstellen
Pfeil 41.1 Funktionsweise
Pfeil 41.2 Plug-ins für den Inhalt
Pfeil 41.3 Ein passender Button
Pfeil 41.4 Plug-ins für die Suche

»Beim Tanze zettelt man an, was hernach ausgewoben wird.« Anonym

41 Plug-ins erstellen

Im Gegensatz zu Modulen operieren Plug-ins zumeist direkt auf dem eigentlichen Inhalt. Technisch gesehen werden sie in Abhängigkeit von verschiedenen Vorfällen (Events) im Hauptprogramm aufgerufen. Ein solcher Event ist beispielsweise die Vorbereitung eines Inhaltselements für die Ausgabe. Ein anderer Event kann der Aufruf des Editors sein.

Plug-ins tauchen, wie bereits erwähnt, in verschiedenen Formen auf. Sie können direkt den Inhalt verändern, einen Editor einbinden, über einen Editor-Button eigenen Text einfügen, bei der Suche Ergebnisse zurückliefern, die Benutzeranmeldung übernehmen und Aufgaben im Joomla!-System verrichten. Mit dem neuen Event-System von Joomla! sind die Anwendungsmöglichkeiten enorm gestiegen. Wir werden uns einige Ausprägungen im Folgenden genauer ansehen.

Vieles davon wird Ihnen aus Kapitel 39, »Mein erstes Modul«, schon bekannt vorkommen. Auch Plug-ins benötigen für die Installation eine XML-Datei, über die auch Parameter angegeben werden können. Ebenso ist es aus Plug-ins heraus möglich, die Funktionen und Objekte der Joomla!-API zu verwenden.


Galileo Computing - Zum Seitenanfang

41.1 Funktionsweise topZur vorigen Überschrift

Plug-ins werden in Objekten programmiert. Das Grundgerüst sieht dabei immer gleich aus:

1  jimport('joomla.plugin.plugin'); 
2  class plgSystemTest extends JPlugin { 
3     function plgSystemText (&$subject, $config) { 
4        parent::__construct( $subject, $config ); 
5     } 
6     function onEvent() { 
7        //code 
8     } 
9  }

Listing 41.1 Das Grundgerüst eines Plug-ins

Zunächst wird über den Befehl jimport die Basisklasse für ein Plug-in geladen. Von dieser wird das neue Plug-in über den Befehl extends abgeleitet. Der Effekt ist, dass viele Methoden, die ein Plug-in benötigt, hier gleich mit eingebunden werden. In den Zeilen 3–5 wird der Konstruktor der Basisklasse aufgerufen. Dieser führt einige grundlegenden Vorbereitungen durch. Achten Sie darauf, dass der Name der Methode identisch mit dem Namen der Klasse sein muss. Ab Zeile 6 wird eine weitere Methode erstellt, die den Namen eines Events trägt. Wird dieser Event von Joomla! ausgelöst, so erfolgt automatisch ein Aufruf dieser Methode.

Events kann man sich als eine Art Botschaft des Joomla!-Grundsystems an seine Plug-ins vorstellen. Diese Botschaften werden gesendet, wenn bestimmte Aktionen durchgeführt werden oder durchgeführt worden sind. So gibt es beispielsweise einen onLogin-Event, der ausgelöst wird, nachdem sich ein Benutzer erfolgreich angemeldet hat. In einigen Plug-ins gibt es dann Methoden, die auf diese Botschaften reagieren und ihrerseits Code ausführen. So kann an verschiedenen Punkten während der Erstellung einer Joomla!-Seite eingegriffen werden.

Sie ahnen sicher schon, dass eine gute Kenntnis der Events ziemlich wichtig für die Programmierung von Plug-ins ist. In Tabelle 41.1 finden Sie eine Liste der verfügbaren Ereignisse.


Tabelle 41.1 Eventhandler

Ereignis Beschreibung

Authentication

onAuthenticate

Wird bei der Anmeldung eines Benutzers ausgeführt. Hier können Sie festlegen, ob der Benutzer im System angemeldet wird.

Content

onPrepareContent

Ein Inhaltselement wird zur Ausgabe aufbereitet.

onAfterDisplayTitle

Hier haben Sie die Möglichkeit, Daten zwischen Titel und Inhalt eines Beitrags einzufügen.

onAfterDisplay Content

Tritt unmittelbar nach der Ausgabe des Inhalts ein.

onBeforeDisplay Content

Tritt unmittelbar vor der Ausgabe des Inhalts ein.

onAfterContentSave

Ein Inhaltselement wurde gespeichert.

onBeforeContentSave

Es soll ein Inhaltselement gespeichert werden. Hier können Sie noch eingreifen.

onAfterDisplay

Wird ausgelöst, nachdem die Inhalte ausgegeben worden sind.

onBeforeDisplay

Wird ausgelöst, wenn Joomla! bereit ist, die Inhalte darzustellen.

Editors

onInit

Der Editor wird gestartet. Hier können Sie noch zusätzliche Einstellungen vornehmen.

onGetContent

Der Text wird für den Editor aufbereitet.

onSetContent

Inhalte werden in den Editor geladen.

onSave

Ein Text soll gespeichert werden.

onDisplay

Nach dem Editor-Feld werden zusätzliche Buttons ausgegeben.

Search

onSearch

Eine Suchanfrage wird bearbeitet.

onSearchAreas

Hier können Sie zusätzliche Suchräume definieren.

System

onAfterInitialise

Wird ausgelöst, nachdem das Joomla!-Framework geladen wurde.

onAfterRoute

An dieser Stelle weiß Joomla! bereits, welche Aufgaben auf das System warten.

onAfterDispatch

Wird ausgelöst, wenn der Inhalt der aufgerufenen Komponente verfügbar ist.

onAfterRender

Wird ausgelöst, wenn die Ausgabe zusammengesetzt wurde und verfügbar ist.

User

onLoginUser

Wird ausgeführt, nachdem ein Benutzer erfolgreich am System angemeldet wurde.

onLoginFailure

Hat der Benutzer ungültige Daten bei der Anmeldung eingegeben, wird dieser Event ausgelöst.

onLogoutUser

Wird ausgelöst, nachdem ein Benutzer sich aus dem System abgemeldet hat.

onLogoutFailure

Tritt ein Fehler bei der Abmeldung auf, so können Sie hier reagieren.

onBeforeStoreUser

Tritt ein, bevor die Daten eines neuen Benutzers gespeichert werden.

onAfterStoreUser

Tritt ein, nachdem die Daten eines neuen Benutzers gespeichert worden sind.

onBeforeDeleteUser

Tritt ein, bevor die Daten eines Benutzers gelöscht werden.

onAfterDeleteUser

Tritt ein, nachdem die Daten eines Benutzers gelöscht worden sind.

XML-RPC

onGetWebServices

Wird ausgelöst, wenn eine Anfrage von außen kommt, die herausfinden soll, welche Webservices die Joomla!-Installation anbietet.


Sie sehen in der Tabelle, dass die Events nach Plug-in-Typen geordnet sind. Diese Typen sind wichtig für die Registrierung des Plug-ins, die in der XML-Datei festgelegt wird. Denn nur die Ereignisse, die auch dem Plug-in-Typ entsprechen, werden tatsächlich berücksichtigt. So ist es nicht möglich, in einem User-Plug-in die Ausgabe des Inhalts zu verändern.

Die einzelnen Event-Methoden werden von Joomla! gegebenenfalls noch mit Parametern gefüttert. Dazu finden Sie mehr in Anhang B.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Joomla! 1.5 - Das umfassende Handbuch





Joomla! 1.5 -
Das umfassende Handbuch

Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Einstieg in Joomla! - Das Video-Training





 Einstieg in Joomla! -
 Das Video-Training


Zum Katalog: Joomla! 1.5 für Einsteiger





 Joomla! 1.5
 für Einsteiger


Zum Katalog: Einstieg in TYPO3 4.2






 Einstieg in TYPO3 4.2


Zum Katalog: Webseiten erstellen für Einsteiger






 Webseiten erstellen
 für Einsteiger


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Katalog: Modernes Webdesign






 Modernes Webdesign


Zum Katalog: Praxisbuch Web 2.0






 Praxisbuch Web 2.0


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de