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.function getInfo() {
$info = array(
// Plugin-Name (wird in der Pluginübersicht im Adminbereich angezeigt)
"<b>DemoPlugin</b>",
// CMS-Version
"2.0",
// Kurzbeschreibung
"Dies ist ein Plugin zur Demonstration der Pluginschnittstelle von moziloCMS 2.0".
"<br /><br /><span style=\"font-weight:bold;\">Nutzung:</span><br />{DemoPlugin|Text} Zeigt den Text an".
"<br />{DemoPlugin|Text,Farbe} Zeigt den Text in der angegebenen Farbe an",
// Name des Autors
"black-night",
// Download-URL
array("http://www.mozilo.de/forum/index.php?action=media","moziloCMS Plugins"),
// Platzhalter => Kurzbeschreibung, für Inhaltseditor
array('{DemoPlugin}' => 'DemoPlugin Aufruf ohne Parameter',
'{DemoPlugin|...}' => 'DemoPlugin Aufruf mit einem Text Parameter',
'{DemoPlugin|Text,Farbe}' => 'DemoPlugin Aufruf mit einem Text und einem Farbe Parameter')
);
return $info;
}
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.function getContent($value) {
$default = array("Kein Text übergeben,","000000");
$values = $this->makeUserParaArray($value,$default);
return '<div class="DemoPlugin">DemoPlugin <span style="color:#'.$values[1].'">'.$values[0].'</span></div>';
}
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.function getInfo() {
$info = array(
// Plugin-Name (wird in der Pluginübersicht im Adminbereich angezeigt)
"<b>DemoPlugin</b>",
// CMS-Version
"2.0",
// Kurzbeschreibung
"Dies ist ein Plugin zur Demonstration der Pluginschnittstelle von moziloCMS 2.0".
"<br /><br /><span style=\"font-weight:bold;\">Nutzung:</span><br />{DemoPlugin|Text=Mein Text} Zeigt den Text an".
"<br />{DemoPlugin|Text=Mein Text,Farbe=DD0000} Zeigt den Text in der angegebenen Farbe an",
// Name des Autors
"black-night",
// Download-URL
array("http://www.mozilo.de/forum/index.php?action=media","moziloCMS Plugins"),
// Platzhalter => Kurzbeschreibung, für Inhaltseditor
array('{DemoPlugin}' => 'DemoPlugin Aufruf ohne Parameter',
'{DemoPlugin|...}' => 'DemoPlugin Aufruf mit Parameter')
);
return $info;
}
function getContent($value) {
$default = array('Text' => "Kein Text übergeben,", 'Farbe' => "000000");
$values = $this->makeUserParaArray($value,$default);
return '<div class="DemoPlugin">DemoPlugin <span style="color:#'.$values['Farbe'].'">'.$values['Text'].'</span></div>';
}
In welcher Reihenfolge die Parameter mit Namen übergeben werden ist dabei egal.
4. Komplette Sourcen des DemoPlugin
Download ParameteraufzählungDownload Parametername