Joomla – Template Parameter

Parameter stellen eine Art Erweiterung eines Templates dar. Mit Hilfe von Parametern können zum Beispiel bereits ein Logo, ein Text oder weitere Inhalte vordefiniert werden, ohne dass diese direkt in der index.php eingetragen oder mit Hilfe von Modulen ausgegeben werden müssen.

Einbindung der Template Parameter

Alle Parameter werden in der templateDetails.xml eingetragen.

      <config>
        <fields name="params">
            <fieldset name="">
                 <field name="" type="" default="" label="" description="" filter="" />
                ...
            </fieldset>
        </fields>
    </config>

Der grau markierte QuellCode umschließt die Parameter Gruppen (Fieldsets) mit den entsprechenden Parametern.

Parameter Gruppen bzw. Fieldsets

Sofern ein Template eine Vielzahl an Anpassungsmöglichkeiten bieten soll, ist es ratsam, dass die ganzen Parameter thematisch gegliedert bzw. getrennt werden. Diese Gliederung kann durch die sogenannten Fieldsets gewährleistet werden.

<fieldset name="Name des Fieldsets">
...
</fieldset>

Der Name des Fieldsets kann individuell festgelegt werden, sollte aber mit Hilfe der Language-Dateien des Templates angepasst werden.

Die folgenden Beispiele sollen zeigen, wie der Name des Fieldsets übersetzt wird.

// Übersetzung im Backend (Templates: Stil bearbeiten): Erweiterte Optionen
<fieldset name="advanced">
...
</fieldset>
// Übersetzung im Backend (Templates: Stil bearbeiten): // COM_TEMPLATES_template_color_FIELDSET_LABEL <fieldset name="template_color"> ... </fieldset>
// Übersetzung im Backend (Templates: Stil bearbeiten): // COM_TEMPLATES_copyright_FIELDSET_LABEL <fieldset name="copyright"> ... </fieldset>

Da advanced von Joomla selbst in vielen Bereichen angewandt wird, existiert hierfür bereits eine Übersetzung. Für alle anderen Fieldset-Namen muss die entsprechende Language-Datei noch angepasst werden.

Zur Anpassung wird folgende Datei benötigt: de-DE.tpl_template_name.ini

COM_TEMPLATES_TEMPLATE_COLOR_FIELDSET_LABEL="Templatefarbe"
COM_TEMPLATES_COPYRIGHT_FIELDSET_LABEL="Copyright"

Aufbau von Parametern

Der Aufbau von Parametern unterliegt einem bestimmten Grundgerüst und kann je nach Parametertyp etwas abweichen.

<field
name=""
label=""
description=""
type=""
default=""
filter=""
/>

name
Der Name des Parameters muss eindeutig sein und dient zur Identifizierung des Parameters.
Der Wert des Paraneters kann mit Hilfe des Namens in der index.php ausgelesen werden.
$this->params->get('name')

label
Hier handelt es sich um das Label bzw. die Bezeichnung des Parameters.

description
Die Beschreibung des Parameters wird beim MouseOver des Labels als Tooltip ausgegeben und dient zur kurzen Erklärung / Erläuterung.

type
Hier wird der Typ des Parameters festgelegt. Das Framework von Joomla stellt eine Reihe vordefinierter Parameter Types zur Verfügung. Diese können u. a. hier eingesehen werden: PATH_TO_JOOMLA/libraries/joomla/html/parameter/element/

default
Standardwert des Parameters.

filter
Filterung des Parameterwertes.

Template Parameter – Beispiele

Beispiel 1 – Erstellung und Einbindung eines Copyrights.

PATH_TO_JOOMLA/templates/template_name/templateDetails.xml

<!-- Anzeige Copyright -->
<field
name="copyright_display"
label="TPL_TEMPLATE_NAME_COPYRIGHT_DISPLAY_LABEL"
description="TPL_TEMPLATE_NAME_COPYRIGHT_DISPLAY_DESC"
type="radio"
default="0"
filter=""
>
<option value="1">TPL_TEMPLATE_NAME_OPTION_YES</option>
<option value="0">TPL_TEMPLATE_NAME_OPTION_NO</option>
</field>
<!-- Stil Copyright -->
<field
name="copyright_style"
label="TPL_TEMPLATE_NAME_COPYRIGHT_STYLE_LABEL"
description="TPL_TEMPLATE_NAME_COPYRIGHT_STYLE_DESC"
type="list"
default="a"
filter=""
>
<option value="a">TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_A</option>
<option value="b">TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_B</option>
<option value="c">TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_C</option>
</field>
<!-- Inhalt Copyright -->
<field
name="copyright_content"
label="TPL_TEMPLATE_NAME_COPYRIGHT_CONTENT_LABEL"
description="TPL_TEMPLATE_NAME_COPYRIGHT_CONTENT_DESC"
type="text"
default=""
filter=""
/>

PATH_TO_JOOMLA/templates/template_name/language/de-DE/de-DE.tpl_template_name.ini

##### Copyright - Anzeige
TPL_TEMPLATE_NAME_COPYRIGHT_DISPLAY_LABEL="Anzeige Copyright" TPL_TEMPLATE_NAME_COPYRIGHT_DISPLAY_DESC="Legen Sie hier fest, ob das - vom Template generierte - Copyright angezeigt werden soll?"
TPL_TEMPLATE_NAME_OPTION_YES="Ja" TPL_TEMPLATE_NAME_OPTION_NO="Nein"

##### Copyright - Stil
TPL_TEMPLATE_NAME_COPYRIGHT_STYLE_LABEL="Copyright Style"
TPL_TEMPLATE_NAME_COPYRIGHT_STYLE_DESC="Geben Sie an, wie der Anfang des Copyrights ausgegeben werden soll."
                   
TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_A="Copyright"
TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_B="&copy; Copyright"
TPL_TEMPLATE_NAME_OPTION_COPYRIGHT_STYLE_C="&copy;"

##### Copyright - Inhalt
TPL_TEMPLATE_NAME_COPYRIGHT_CONTENT_LABEL="Copyright (Inhalt)"
TPL_TEMPLATE_NAME_COPYRIGHT_CONTENT_DESC="Tragen Sie hier Ihr Copyright ein, z. B. <em>Max Mustermann</em>."

PATH_TO_JOOMLA/templates/template_name/index.php

// Parameter holen
$showCopyright = $this->params->get('copyright_display');
$styleCopyright = $this->params->get('copyright_style');
$contentCopyright = $this->params->get('copyright_content');
... irgendwo im QuellCode
<?php
// Abfrage, ob das Copyright angezeigt werden soll UND der Inhalt des Copyrights nicht leer ist.
if($showCopyright=='1' && $contentCopyright!=''):
?>
<div id="copyright">
<?php
if($styleCopyright=='b' || $styleCopyright=='c'):
echo '&copy; ';
endif;
if($styleCopyright=='a' || $styleCopyright=='b'):
echo 'Copyright ';
endif;
echo date('Y');
echo ' '.$contentCopyright;
?> </div> <?php endif; ?>

Schreibe einen Kommentar

* Pflichtfelder