GSB 7.0 Standardlösung

Allgemeine 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