Template-Plugins
Das YAML-Joomla!-Template besitzt eine eigene Pluginverwaltung für spezielle Erweiterungen. Alle Template-Plugins können global sowie in jedem einzelnen Design konfiguriert werden.
Die Steuerung der Plugins übernimmt das JYAML-System.Plugin für Joomla!.
Wenn man PHP-Kenntnisse besitzt, können sogar eigene Plugins entwickelt und hinzugefügt werden.
Core-Plugins
Ein paar Plugins sind auch schon dabei. Folgend eine Auflistung:
- IE PNG Fix: Ermöglicht transparente PNG Bilder im Internet Explorer 5.5 und 6,
- IE min/max Expressions: Simuliert min-/max width und height im Internet Explorer 5 und 6,
- CSS Optimizer: Reduzierung und Bereinigung der CSS Dateien zur Reduzierung von Traffic und Anfragen.
Eigene Plugins entwickeln
Alle Template-Plugins liegen im Verzeichnis /templates/[YAML Template]/plugins/. Folgend ein Beispiel zum Erstellen eines eigenen Plugins. Legen Sie einen Ordner im Plugin-Verzeichnis mit dem gewünschten Namen des Plugins an. Als Name wird in diesem Beispiel "my_yaml_plugin" verwendet.
Schritt 1:
Im Pluginordner müssen nun folgende Dateien angelegt werden. Diese sind auch mindestens erforderlich.
- my_plugin.xml (Parameter-Datei. Ist aufgebaut nach der Joomla!1.5 XML-Referenz).
- my_plugin.php (Ausführbare PHP-Datei zur Steuerung des Plugins).
- config.xml (Hier werden später die Konfiguration-Werte abgespeichert).
Schritt 2:
Anlegen des Inhalts der my_plugin.xml.
<?xml version="1.0" encoding="utf-8"?> <jyaml_plugin> <name>my_plugin</name> <author>Mein Name</author> <creationDate>Erstelldatum</creationDate> <copyright>(C) Mein Name</copyright> <license>Creative Commons Lizenz</license> <authorEmail>myEmail[AT]domain.tld</authorEmail> <authorUrl>www.myDomain.tld</authorUrl> <version>1.0</version> <description>Beschreibung</description> <!-- Ab hier wird die Joomla! Parameter XML-Referenz benutzt --> <params> <!-- Der Wert 'published' mit '0' und '1' ist mindestens erforderlich, da man sonst das Plugin nicht einschalten kann. --> <param name="published" type="radio" default="0" label="Aktiviert?"> <option value="0">Nein</option> <option value="1">Ja</option> </param> <param name="text" type="text" default="" label="Text" /> <!-- *** --> </params> </jyaml_plugin>
Für weitere Möglichkeiten der Parameter ("param") durchsuchen Sie die Joomla!1.5 XML-Referenz Liste.
Schritt 3:
Anlegen des Inhalts der my_plugin.php.
// kein direkter Zugriff auf die PHP Datei
defined('_JEXEC') or die('Restricted access');
// Diese PHP-Klasse wird direkt zur Laufzeit des YAML-System Plugins ausgeführt
class my_plugin extends JYAML {
var $JYAML = array(); // can overwrite share $jyaml object
var $JYAMLc = array(); // can overwrite share of $jyaml->config object
function my_plugin($params, $jyaml) {
$document=& JFactory::getDocument();
if($document->getType() != 'html') {
return;
}
// Fügt ein Javascript in den HEAD des Dokuments
$jyaml->addScript( JYAML_PATH_REL.'/plugins/my_plugin/example.js' );
/*
...
usw.
...
*/
}
/*
Diese Klasse (mit Zusatz _afterRender) wird ausgeführt wenn das gesamte
Dokument bereits fertig für die Ausgabe aufbereitet ist, aber noch
nicht von Joomla! ausgegeben wurde. Somit sind spezielle Anpassungen am
Dokument möglich
*/
class my_plugin_afterRender extends YAML {
function my_plugin_afterRender($params, $jyaml) {
$document=& JFactory::getDocument();
if($document->getType() != 'html') {
return;
}
// Lese Parameter Konfiguration
$text= $params->get( 'text', 'kein Text vorhanden' );
// Dokument Body auslesen
$body = JResponse::getBody();
// Den Body modifizieren
// Als Beispiel wird ein Absatz direkt hinter <body> hinzugefügt.
$body = str_replace('<body>', '<body><p>'.$text.'</p>', $body);
// Den neuen Body Inhalt übergeben
JResponse::setBody($body);
}
}
In den Template-Plugins können alle Joomla!-Funktionen benutzt werden. Lesen Sie hierzu das Joomla Dokumentation Wiki. Außerdem steht Ihnen zusätzlich das $jyaml PHP-Objekt und deren Methoden zu Verfügung.
Schritt 4: Aktivieren des eigenen Plugins
Wenn nun alle erforderlichen Dateien erstellt sind, können Sie Ihr eigenes Template-Plugin im Backend der JYAML-Komponente sehen. Es kann jetzt aktiviert werden, wenn der mindestens erforderliche Parameter 'published' in der my_plugin.xml vorhanden ist.
Schritt 5: Mitmachen
Falls Sie eigene Plugins entwickeln oder nur eine Idee haben, dann lassen Sie es mich doch einfach wissen und nehmen kurz Kontakt mit mir auf.
