$CMS_VALUE(...)$
Verwendung von $CMS_VALUE(...)$
Damit die Inhalte von Variablen, Eingabekomponenten oder Funktionsergebnissen in Vorlagensätzen sichtbar sind, muss eine Ausgabe innerhalb der Vorlagen erfolgen. Damit beispielsweise der Inhalt einer Eingabekomponente im Browser sichtbar ist, muss innerhalb des HTML-Vorlagensatz (Register „HTML“), im HTML-Bereich der Vorlage, der Inhalt der Eingabekomponente ausgegeben werden. Mit der Anweisung $CMS_VALUE(...)$ kann in Vorlagen auf diese Inhalte zugegriffen werden. Zusätzlich lassen sich in der Anweisung Ausdrücke (siehe auch Ausdrücke) auswerten und Methoden (siehe auch Methoden) anwenden. Die anwendbaren Ausdrücke bzw. Methoden hängen vom Typ der Variable ab, d.h. eine Eingabekomponente liefert eine Variable vom Typ Set, eine andere Eingabekomponente eine Variable vom Typ String zurück (siehe auch Formulare).
Hierbei wird innerhalb der Klammern der Name der zu referenzierenden Variable angegeben, im Beispiel der Name der Eingabekomponente. Falls nicht die Variable selber, sondern nur ein Attribut der Variable auf der Seite eingebunden werden soll, so muss der Name des Attributs, durch einen Punkt getrennt, hinter dem Variablennamen angegeben werden.
Syntax von $CMS_VALUE(...)$
Bei Verwendung von $CMS_VALUE(...)$ muss folgende Syntax eingehalten werden:
$CMS_VALUE(VARIABLE)$
oder
$CMS_VALUE(KONSTANTE)$
oder
$CMS_VALUE(AUSDRUCK)$
Die einfachste Form von $CMS_VALUE(...)$ gibt den Wert einer Variablen aus. Innerhalb der Klammern (...) können aber auch komplexere Ausdrücke verwendet werden:
Beispiel: Kombination mit "+"-Operator:
$CMS_VALUE(meineZahl + 2)$
Beispiel: Kombination mit Punktnotation:
$CMS_VALUE(meinWert.toString)$
Ist eine Variable nicht definiert oder ist sie Null, wird zu Debugging-Zwecken im Log eine entsprechende Fehlermeldung ausgegeben, z. B. Undefined field oder Undefined variable. Um diese Fehlermeldungen zu unterbinden, kann je nach Anwendungsfall eine isNull- (Methode .isNull()) oder isEmpty-Prüfung (Methode .isEmpty()) durchgeführt werden, z. B. $CMS_IF(!VARIABLE.isNull)$ $CMS_VALUE(VARIABLE)$ $CMS_END_IF$ Die Möglichkeiten, über die Funktion isSet(...) zu prüfen, ob eine Variable gesetzt ist, oder über default einen Standardwert zu definieren (z. B. $CMS_VALUE(VARIABLE, default:"Standardwert")$, siehe unten), sollten mit Vorsicht eingesetzt werden, da in diesem Fall Fehlermeldungen unterdrückt werden, was die Fehlersuche („Debugging“) erschwert, und im Fall von isSet eine möglicherweise unerwünschte Ausgabe des Wertes auf der generierten Seite erfolgt. |
Innerhalb einer $CMS_VALUE(...)$-Anweisung können mehrere Parameter (Variablen, Konstanten, Ausdrücke), kommasepariert übergeben werden, beispielsweise bei der Definition eines Standardwertes.
Syntax (Definition eines Standardwertes):
$CMS_VALUE(OBJEKT1, default:OBJEKT2)$
Beispiel (Definition eines Standardwertes):
$CMS_VALUE(VARIABLENNAME,default:"--WERT NICHT GESETZT--")$
In dem Beispiel wird, wenn die Variable VARIABLENNAME nicht definiert ist, --WERT NICHT GESETZT-- ausgegeben.
Beispiele zu $CMS_VALUE(...)$
Nachfolgend werden einige Beispiele zur Verwendung der Anweisung innerhalb von Vorlagen gezeigt. Die Beispiele sollen die konkrete Auswirkung der Anweisung verdeutlichen und eine Hilfe für den Vorlagenentwickler bei der Erstellung eigener Vorlagen sein.
Für die Verwendung innerhalb eines Projekts müssen die hier gezeigten Beispiele angepasst werden! Beispielsweise müssen Variablennamen auf die spezifischen Variablennamen des Projekts geändert werden, in dem die Anweisung verwendet werden soll. |
1. Beispiel: Methodenaufruf
Codebeispiel:
$CMS_SET(zeichenkette, "Eine Zeichenkette mit vielen Buchstaben")$
$CMS_VALUE(zeichenkette.contains("mit"))$
Beschreibung:
Im angegebenen Beispiel wird eine Variable zeichenkette mit einer Zeichenkette definiert. Mit der Methode contains, die auf einem String angewendet werden kann, wird überprüft, ob die Teilzeichenkette mit in der Zeichenkette Eine Zeichenkette mit vielen Buchstaben enthalten ist.
Ausgabe:
true
2. Beispiel: Konstantenausgabe
Codebeispiel:
$CMS_VALUE("KONSTANTE")$
Beschreibung:
Im Beispiel wird die Konstante KONSTANTE ausgegeben.
Ausgabe:
KONSTANTE
3. Beispiel: Verwendung von weiteren Ausdrücken
Weitere Beispiele zur Verwendung von (arithmetischen, vergleichenden und logischen) Ausdrücken:
$CMS_VALUE(6 * 7)$
Gibt die Zahl „42“ aus.
$CMS_VALUE("1" == "1")$
Gibt den Wert „true“ aus.
$CMS_VALUE(true || false)$
Gibt den Wert „true“ aus.