Template Engine
Template Marker
Die Template-Engine von GRIS verfügt über verschiedene Marker die unterschiedliche Ersetzungsoperationen auslösen. Als Eingabedaten dienen immer Arrays, die die jeweiligen Ersetzungen enthalten.
Standard Marker
Beim Standardmarker wird eine einfache Ersetzung durchgeführt. In diesem Fall enthält der Marker markername
später den zugewiesenen Wert aus den Array. Das Template kann verschiedene Marker enthalten. Diese müssen jedoch auch im Array hinterlegt sein, damit die Erstzung funktioniert.
$data = array(markername => wert);
Markersyntax
{markername}
Konditionaler Marker
Hängt ein Zeichen (s
für Space, b
für HTML-Break, k
für Komma) oder ein Tag an, wenn der Marker nicht leer ist. Dies ist z. B. nützlich bei Aufzählungen.
$data = array(markername = wert);
Markersyntax
{markername&cond|s} // Space
{markername&cond|b} // HTML <br />
{markername&cond|k} // Komma
Wrap Marker
Umschließt den Marker mit einem Tag, wenn er nicht leer ist. Als Tag-Name sind alle gültigen HTML-Tags erlaubt.
$data = array(markername = wert);
Markersyntax
{markername&wrap|tagname}
Sprachmarker
Der Marker wird in der aktuellen Sprache Übersetzt, falls das Wort in der i18n-Liste hinterlegt ist.
$data = array(markername = wert);
Markersyntax
{markername&lang}
Textübersetzung
Soll ein (HTML-)Text aus dem Template direkt übersetzt werden, reicht es, diesen mit eckigen Klammern zu versehen. Z. B. bei Labels von Formularfeldern sind dann keine Variablen mehr nötig. Die entsprechenden Texte müssen i18n-Liste hinterlegt sein.
Markersyntax
[Text]
Wiederholungsmarker
Der innere Teil wird pro Wert wiederholt. Es dürfen keine Zeilenumbrüche innerhalb der Marker vorkommen.
$data = array(markername = array(array(0 => wert0, 1 = wert1, ... ,# => wert#), zeile2, zeile3, ..., zeile n));
Beipiel mit print_r ():
Array
(
[markername ] => Array
(
[0] => Array
(
[0] => wert0
[1] => wert1
...
[#] => wert#
)
)
)
Markersyntax
{markername@repeat}...{markername0}...{markername1}...{markername#}...{@repeat}