Joomla 1.5 – Template-Parameter in Subtemplates / Overrides
Posted: Dezember 31, 2009 at 6:27 pm | Tags: Framework, Joomla, Parameter, Subtemplate, Template, Template-Overrides | PDFBeim Entwickeln von Joomla Templates für die Version 1.5 kann man sich dazu entscheiden, ob man das Template mit Parametern im Backend anpassbar machen will. Eine gute Anleitung wie das funktionert gibt’s hier: Joomla 1.5 Template Tutorial. Das Problem an der Sache ist, dass diese Paramter anscheinend nur in der index.php eines Joomla-Templates zugängig sind, nicht aber in den Template-Overrides – zum Beispiel für die Darstellung eines Items in der Frontpage-View. Ich habe mir dazu einen kleinen Workaround geschaffen.
Ich will hier nicht auf die Feinheiten der Template-Entwicklung für Joomla 1.5 eingehen, dazu gibt’s bereits genug Quellen im Netz. Deshalb hier die Anleitung für alle, die wissen, wie man Templates programmiert, nicht aber, wie man auf die Template-Parameter innerhalb eines Template-Overrides (Subtemplates) zugreift.
In dem Beispiel gehen wir davon aus, dass die Datei “templates/meintemplate/html/com_content/frontpage/default_item.php” auf die Template-Parameter zugreifen soll.
Editiert diese Datei und schreibt den folgenden Code am besten nach der Zeile “defined(JEXEC) or die(….);”:
$paramFile = "templates/NameDesTemplates/params.ini";
if (file_exists($paramFile) && function_exists("file_get_contents")) {
$params = file_get_contents($paramFile);
}
else $params =""; // Failsafe
$params = new JParameter($params);
$meinParameter = $params->get("meinParameter", 0); // den Parameter "getten"
Ich wüsste (momentan) nicht, wie man mit dem Joomla-Framework auf die Params.ini zugreifen kann, deshalb verwende ich explizit den Pfad zur Datei. Statt “file_get_contents” könnt ihr natürlich auch eine Funktion verwenden, die nicht erst seit PHP5 existiert, das erschien mir aber einfacher.
Falls jemand grade weiß, wie man das Joomla-Framework dazu verwenden kann, schreibt es bitte als Kommentar dazu