#for
Das Systemobjekt #for steht innerhalb einer $CMS_FOR(...)$-Anweisung zur Verfügung. Mithilfe des Objekts lässt sich ermitteln, ob das aktuelle Element das erste oder letzte Element ist. Weiterhin kann ermittelt werden, das wievielte Element gerade gerendert wird.
Die einzelnen Aufrufe und ihre Bedeutung:
Aufruf | Bedeutung | Rückgabedatentyp |
---|---|---|
#for.index | Ausgabe des Elementindexes. | Integer |
#for.isFirst | Ermittlung, ob es sich bei dem gerade zu rendernden Element um das erste Element handelt, oder nicht. | Boolean |
#for.isLast | Ermittlung, ob es sich bei dem aktuell zu rendernden Element, um das letzte Element handelt, oder nicht. | Boolean |
#for.name | Name des Systemobjektes. | String |
Beispiele zu #for
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: Tabelle mit Exponentialberechnungen
$CMS_FOR(exp, [0 .. 10])$
$CMS_IF(#for.isFirst)$
<table>
$CMS_END_IF$
<tr>
<td><b>2 ^ $CMS_VALUE(exp)$</b></td>
<td>$CMS_VALUE(2.pow(exp))$</td>
</tr>
$CMS_IF(#for.isLast)$
</table>
$CMS_END_IF$
$CMS_END_FOR$
Im Beispiel wird eine Exponentialberechnung zur Basis 2 durchgeführt, mit den Exponenten 0 bis 10. Beim ersten Element (0) wird ein öffnendes table-Tag ausgegeben. Bei jedem Exponenten werden zusätzlich zwei Spalten ausgegeben. In der ersten Spalte steht 2 ^ gefolgt vom aktuellen Exponenten, in der zweiten Spalte das berechnete Ergebnis. Nach dem letzten Element (10) wird dann das schließende table-Tag ausgegeben.
Ausgabe:
<table>
<tr>
<td><b>2 ^ 0</b></td>
<td>1</td>
</tr>
<tr>
<td><b>2 ^ 1</b></td>
<td>2</td>
</tr>
<tr>
<td><b>2 ^ 2</b></td>
<td>4</td>
</tr>
<tr>
<td><b>2 ^ 3</b></td>
<td>8</td>
</tr>
<tr>
<td><b>2 ^ 4</b></td>
<td>16</td>
</tr>
<tr>
<td><b>2 ^ 5</b></td>
<td>32</td>
</tr>
<tr>
<td><b>2 ^ 6</b></td>
<td>64</td>
</tr>
<tr>
<td><b>2 ^ 7</b></td>
<td>128</td>
</tr>
<tr>
<td><b>2 ^ 8</b></td>
<td>256</td>
</tr>
<tr>
<td><b>2 ^ 9</b></td>
<td>512</td>
</tr>
<tr>
<td><b>2 ^ 10</b></td>
<td>1024</td>
</tr>
</table>