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}