Eigenes Plug-in erstellen

1. Verzeichnis anlegen

Als erstes muss im Verzeichnis "plugins" ein neues Verzeichnis angelegt werden. Dies muss exakt (Groß/Kleinschreibung beachten) so heißen wie das Plugin.
In diesem neuen Verzeichnis wird eine Datei mit dem namen "index.php" angelegt. Diese wird nun wie folgt mit Inhalt gefüllt.

2. Grundgerüst des Plugin

Damit das Plugin nur innerhalb von moziloCMS aufgerufen werden kann sollte die erste Zeile wie folgt lauten:

  1. <?php if(!defined('IS_CMS')) die();

Die Pluginklasse muss jetzt genauso lauten wie das Verzeichnis und muss von der Klasse Plugin ableiten:

  1. class DemoPlugin extends Plugin {

Jedes Plugin benötigt mindestens die Funktionen getContent, getConfig und getInfo. Die Funktion getContent wird vom moziloCMS gerufen, wenn das Plugin in einer Inhaltsseite verwendet wird. Dem Pluginaufruf kann man beliebige Werte mitgeben, diese werden der getContent Funktion als Parameter $value übergeben. Die Funktion sieht also folgendermaßen aus:

  1. function getContent($value) {
  2.     return '<div class="DemoPlugin">DemoPlugin</div>';
  3. }

Der Rückgabewert wird in der Inhaltsseite anstelle des Pluginaufrufes ausgegeben.

Die zweite Pflichtfunktion ist getConfig. Diese wird von der Pluginansicht im Adminbereich gerufen und ermöglicht es verschiedene Einstellungen für das Plugin bereitzustellen. Im einfachsten Fall werden keine Einstellungen benötigt und die Funktion sieht dann so aus:

  1. function getConfig() {
  2.     $config = array();
  3.     return $config;
  4. }

Die letzte Pflichtfunktion wird ebenfalls von der Pluginansicht im Adminbereich gerufen. getInfo liefert allgemeine Informationen zum Plugin und hat folgenden Aufbau:

  1. function getInfo() {
  2.     $info = array(
  3.         // Plugin-Name (wird in der Pluginübersicht im Adminbereich angezeigt)
  4.         "<b>DemoPlugin</b>",
  5.         // CMS-Version
  6.         "2.0",
  7.         // Kurzbeschreibung
  8.         "Dies ist ein Plugin zur Demonstration der Pluginschnittstelle von moziloCMS 2.0",
  9.         // Name des Autors
  10.         "black-night",
  11.         // Download-URL
  12.         array("http://www.mozilo.de/forum/index.php?action=media","moziloCMS Plugins"),
  13.         // Platzhalter => Kurzbeschreibung, für Inhaltseditor
  14.         array('{DemoPlugin}' => 'DemoPlugin Aufruf ohne Parameter')
  15.         );
  16.     return $info;        
  17. }

Zum Abschluss fehlen jetzt noch 2 Zeilen und das Plugin ist fertig.

  1. }
  2. ?>

3. Komplette Sourcen des DemoPlugin

Download