Arbeiten mit Parametern

1. Definition

Einem Plug-in können beim Aufruf beliebige Parameter mitgegeben werden. Damit der Anwender weiß welche Parameter zur Verfügung stehen sollten diese im Adminbereich erläutert werden. Dafür eignet sich am besten die Kurzbeschreibung der getInfo Funktion.

  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.         "<br /><br /><span style=\"font-weight:bold;\">Nutzung:</span><br />{DemoPlugin|Text} Zeigt den Text an".
  10.         "<br />{DemoPlugin|Text,Farbe} Zeigt den Text in der angegebenen Farbe an",
  11.         // Name des Autors
  12.         "black-night",
  13.         // Download-URL
  14.         array("http://www.mozilo.de/forum/index.php?action=media","moziloCMS Plugins"),
  15.         // Platzhalter => Kurzbeschreibung, für Inhaltseditor
  16.         array('{DemoPlugin}' => 'DemoPlugin Aufruf ohne Parameter',
  17.               '{DemoPlugin|...}' => 'DemoPlugin Aufruf mit einem Text Parameter',
  18.               '{DemoPlugin|Text,Farbe}' => 'DemoPlugin Aufruf mit einem Text und einem Farbe Parameter')
  19.         );
  20.     return $info;        
  21. }

Neu sind die Zeilen 9-10, zur Anzeige unter Admin-->Plugins, und 17-18, zur Anzeige im Inhaltsseiteneditor.

2. Parameter verarbeiten

Jetzt müssen, in der getContent Funktion, die übergebenen Parameter noch ausgewertet werden. Dies geht am einfachsten mit der makeUserParaArray() Funktion der Plugin Klasse. Wir definieren zuerst ein Array mit Defaultwerten und übergeben wir zusammen mit den Paramtern an makeUserParaArray() und erhalten ein Array mit den entsprechenden Werten.

  1. function getContent($value) {
  2.     $default = array("Kein Text übergeben,","000000");
  3.     $values = $this->makeUserParaArray($value,$default);
  4.     return '<div class="DemoPlugin">DemoPlugin <span style="color:#'.$values[1].'">'.$values[0].'</span></div>';
  5. }

3. Parameter mit Namen

Neben dem einfachen Aufzählen von Parametern kann man die Parameter auch mit Namen versehen. Das würde dann wie folgt aussehen.

  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.         "<br /><br /><span style=\"font-weight:bold;\">Nutzung:</span><br />{DemoPlugin|Text=Mein Text} Zeigt den Text an".
  10.         "<br />{DemoPlugin|Text=Mein Text,Farbe=DD0000} Zeigt den Text in der angegebenen Farbe an",
  11.         // Name des Autors
  12.         "black-night",
  13.         // Download-URL
  14.         array("http://www.mozilo.de/forum/index.php?action=media","moziloCMS Plugins"),
  15.         // Platzhalter => Kurzbeschreibung, für Inhaltseditor
  16.         array('{DemoPlugin}' => 'DemoPlugin Aufruf ohne Parameter',
  17.               '{DemoPlugin|...}' => 'DemoPlugin Aufruf mit Parameter')
  18.         );
  19.     return $info;        
  20. }
  21.  
  22. function getContent($value) {
  23.     $default = array('Text' => "Kein Text übergeben,", 'Farbe' => "000000");
  24.     $values = $this->makeUserParaArray($value,$default);
  25.     return '<div class="DemoPlugin">DemoPlugin <span style="color:#'.$values['Farbe'].'">'.$values['Text'].'</span></div>';
  26. }

In welcher Reihenfolge die Parameter mit Namen übergeben werden ist dabei egal.

4. Komplette Sourcen des DemoPlugin

Download Parameteraufzählung
Download Parametername