ContentLion - Open Source CMS

Plugin Basis

Plugin-Informationen

Die Plugin-Informationen werden in der Plugin-Liste auftauchen. Von dort aus kann der Benutzer das Plugin (de)aktivieren. Sie befindet sich in der Datei info.php und ist zum Beispiel so aufgebaut:

<?PHP
  $pluginInfo = new PluginInfo();
  $pluginInfo->path = "skinwizard";
  $pluginInfo->name = "Skin Wizard";
  $pluginInfo->authorName = "Stefan Wienströer";
  $pluginInfo->authorLink = "http://SteviesWebsite.de";
  $pluginInfo->version = "1.0.0";
  $pluginInfo->license = "GPL 2";
  $pluginInfo->licenseUrl = "http://www.gnu.org/licenses/gpl.html";
  $pluginInfo->supportedLanguages = array("de","en");
  $this->Add($pluginInfo);
?>

Mit path gibt man an, wie der technische Name des Plugins ist - Der Ordnername in dem es gespeichert ist. Dieser sollte aus Alphanumerischen Zeichen oder Bindestrichen bestehen. Der Anzeigename wird in name gespeichert. Mit authorName und authorLink können Sie auf sich hinweisen. Um Ihre gewünschte Lizenz auch zu gewährleisten, können Sie mit license und licenseUrl die Lizenz angeben, die Sie gerne möchten. Zum Schluss gibt es noch die unterstützten Sprachen. Hier kommen zweibuchstabige Länderkürzel hin. Diese sollten natürlich als Übersetzung vorliegen.

Eigene Klassen

Jedes Plugin sollte am besten objektorientiert sein. Die Klassen werden in einem Unterordner des Plugins namens classes abgespeichert. Der Dateiname muss kleingeschrieben werden, der Klassenname muss die Namespaces berücksichtigen.

Beispiel: Klassenname ist Plugin_Example_Klasse. Dann muss diese in der Datei system/plugins/example/classes/klasse.php gespeichert sein.

Übersetzungen

Die Übersetzungen sind in dem language-Ordner des Plugins gespeichert. Pro Übersetzung gibt es eine Datei, mit dem Länderkürzel. Z.b. de.php, en.php oder es.php.

<?PHP
  $tokens['plugin_description']   = 'Tool zum erstellen eigener Skins';
  $tokens['menu_item']             = 'Menüpunkt';
  $tokens['my_page']                = 'Meine Seite';
  $tokens['menu']                     = 'Menü';
  //...
?>

Es muss einfach nur das Array $tokens befüllt werden. Wird dem Key (menu_item,my_page,...) ein plugin_pluginname_ vorangestellt. Ein Sonderfall ist plugin_description. Dies ist die Beschreibung, die in der Pluginliste angezeigt wird.

Die Sprachdateien werden bei der Aktivierung des Plugin in ContentLion importiert. So können Sprachen für einen schnelleren Zugriff gecached werden. Um die Sprachen neu zu testen, muss das Plugin erst deaktiviert und dann wieder aktiviert werden.

(De-)aktivierung 

Wenn für ein Plugin Änderungen in der Datenbank o.Ä. erforderlich sind, sollen diese erst bei der Aktivierung des Plugins ausgeführt werden. Dabei wird die Datei activate.php im Hauptverzeichnis des jeweiligen Plugins aufgerufen.

Das Plugin sollte sich aber auch deaktivieren lassen. Auch wenn das Plugin vielleicht am liebsten in allen Systemen aktiviert haben möchten, die Deaktivierung gehört einfach mit dazu und trägt zur Qualität des Plugins bei. Bei der Deaktivierung wird die Datei deactive.php ausgeführt.