wiki:doku_plugins
Last modified 4 years ago Last modified on 29.12.2007 15:32:21

Hier ein wenig Dokumentation zum Aufbau der Plugins

Dateiorganisation

Die Plugins sind untergebracht in /plugins. Die Hauptklasse des Plugins muss den Namen der Klasse tragen und in einer index.php im gleichnamigen Ordner gespeichert werden.
Zum Beispiel simple_text:

/plugins/simple_text/index.php - darin


class simple_text { ... }

Die Sprachdateien? sind in einem weiteren Unterordner "lang" unterzubringen und tragen jeweils den Namen der Sprache (z.B. de_DE)

Pflichtmethoden

Um vom System aufgerufen werden zu können benötigt jedes Plugin einige Methoden. Dies wären:

  • _construct($id,$resources) Beim Erstellen eines Plugins wird diesem seine ID übergeben (über diese ist das Plugin immer identifiezierbar), dazu ein Array mit den Ressourcen.
  • show($page,$type,$param) ist die Funktion, die die eigentliche Seite (XML-formatiert) zurückliefert. Die Parameter sind die Seite (index/admin/etc.), die gerade angezeigt werden soll (entspricht der html-Datei im Aufruf z.b. /sandkasten/admin.html ist das Adminmenü des Sandkastens). $type ist der Typ des Platzhalters, in dem das Plugin angezeigt wird (standard,line,menu,sidebar...) - Damit nicht aus versehen ein komplexes Formular im Seitentitle auftaucht... $param werden evtl. die $_GET-Parameter sein, ist z.Zt. jedoch noch ungenutzt!

optionale Methoden

  • title() erfragt den Seitentitel. Sollte ein Plugin den standard-Platzhalter füllen, so wird hier der Seitentitel abgefragt, der dann in der Browsertitelleiste erscheint. Diese Funktion hat keine Parameter.
  • statement() erfragt den Sinn des Plugins, in einem Adminmenü wird dieser angezeigt, wenn man den Typ einer Seite auswählen kann.
  • add_task() wird aufgerufen, wenn das System eine neue Seite dieses Plugins erstellt. (Die Plugininstanz wurde dann bereits mit der neuen Task-ID initiiert). Hier können Datenbankeinträge geschrieben werden etc...
  • del_task() wird beim Löschen eines Plugins aufgerufen, dient dem Bereinigen einer Datenbank etc...
  • install() wird vom System bei der Plugininstallation aufgerufen. Hier können Tabellen etc. erstellt werden.

return

Die Plugins müssen ein valides XML zurückliefern, aufgebaut wie folgt:

<? xml version="1.0" ?><content>beliebiger Inhalt</content>