Zielgruppe EntwicklungVersion: GSB10.1Allgemeine Syntax
Dieser Artikel beschreibt die allgemein zur Verfügung stehende Syntax zur Abbildung von logischen Programmstrukturen mit Kommentaren, Variablen, Ausdrücken und Kontrollstrukturen.
Kommentare
Um logische Strukturen zu strukturieren und zu erläutern, können Kommentare an entsprechenden Skriptstellen eingefügt werden. Wie auch in anderen Skript- und Programmiersprachen werden diese bei folgender Schreibweise vom Compiler ignoriert.
<pre>## display content region
</pre>
Bezeichner
Bezeichner sind mit fester Logik belegte Begriffe, die nicht in gleicher Form als Variable oder Text verwendet werden dürfen. Folgende Begriffe sind im Rahmen von Velocity bzw. dem GSB vorbelegt und sollten z.B. nicht als Kommentar verwendet werden.
#if#else #foreach #end #otherwise #when #set
Variablen
Die Zuweisung eines Wertes in eine Variable erfolgt in Form:
#set( $meineVariable = “Mein Text“)#set( $meineZahl = 55 )
Operatoren
Mittels Operatoren können in den Velocity-Templates Berechnungen durchgeführt oder Bedingungen formuliert werden.
Hinweis: Bei der Nutzung von Operatoren sollte auf den Einsatz von Leerzeichen geachtet werden. Ohne Leerzeichen wird zum Beispiel das Minus-Zeichen als Teil einer Variablen interpretiert.
#set( $meineZahl = 5 + 4 )#set( $meineZahl = 5 - 4 )
Kontrollstrukturen
Zur Auswertung oder zur Steuerung des Programmablaufs stehen verschiedene Kontrollstrukturen zur Verfügung.
Fallunterscheidung mit if
#if( $slot.pageIndex == $page) <li><strong>$page</strong></li>#else <li><a href="$slot.getPageLink($page)">$page</a></li>#end
Fallunterscheidung mit elseif
#if( ! $sGesetzt.equals("Gesetzt") ) <li>$cms.escapeXml($sSecondLevelTitle)</li>#elseif( $docSecondLevel.equals($container.secondLevel) ) #set( $sTitle = $cms.message("GlossarAusgewaehlt", "$cms.escapeXml($sSecondLevelTitle)") <li><strong title="$sTitle">$cms.escapeXml($sSecondLevelTitle)</strong></li>#else #set( $sLink = $cms.link($container, null, ["lv2Link", $docSecondLevel]) ) <li><a href="$sLink" title="$cms.escapeXml($sSecondLevelTitle)">$cms.escapeXml($sSecondLevelTitle)</a></li>#end
Schleife mit foreach
#foreach( $entry in $slot.entries ) $entry#end