Search the FirstSpirit Knowledge Base
Hallo zusammen,
habe mal wieder eine kleine Frage. Und zwar in der CMS_FUNCTION Table möchte ich gerne Abfragen ob die letzte Reihe gerade bzw. ungerade ist.
Ob es sich um die letzte Reihe handelt mache ich ja mit diesem Aufruf:
<ROW number="LAST"><![CDATA[<tr class="">$CMS_VALUE(#content)$</tr>]]></ROW>
Nun muss ich aber noch Abfragen ob die letzte Reihe gerade ist. Wenn ja dann soll eine entsprechende Klasse ("bottom") eingefügt werden - sonst nicht!
Aufbau der Tabelle:
<tr class="even">
<td>Videns Triton testandum deprecata</td>
<td>Ingens ad deprecata</td>
<td></td>
</tr>
<tr class="odd">
<td>Videns Triton testandum deprecata</td>
<td>Ingens ad deprecata</td>
<td></td>
</tr>
<tr class="even bottom">
<td>Videns Triton</td>
<td>Ingens</td>
<td></td>
</tr>
Hoffe es ist verständlich.
Danke
Hallo Herr Meister,
innerhab des ROW Tags steht das #cell Objekt nicht zur Verfügung, insofern ist es das erwartete Verhalten
Ich würde es so lösen:
- Sonderbehandlung für die letzte Zeile:
<ROW number="LAST"><![CDATA[<tr class="$CMS_VALUE(lastRowClass)$ bottom">$CMS_VALUE(#content)$</tr>]]></ROW>
- Die Variable lastRowClass dann in graden und ungraden Zeilen entsprechend füllen:
<ROW number="ODD"><![CDATA[<tr class="odd">$CMS_VALUE(#content)$</tr>$CMS_SET(lastRowClass,"even")$]]></ROW>
<ROW number="EVEN"><![CDATA[<tr class="odd">$CMS_VALUE(#content)$</tr>$CMS_SET(lastRowClass,"")$]]></ROW>
Der in der vorletzten Zeile gesetzte Wert ist dann für die letzte Zeile gültig. Hier muss man zwar etwas "um die Ecke denken", dafür kommt man ohne Abfragen aus
Viele Grüsse aus Dortmund,
Holger Höbbel
Mit #cell.rowNumber können Sie abfragen, in welcher Zeile Sie sich befinden. Zusammen mit einer modulo Operation sollte das zum Ziel führen. Siehe http://www.e-spirit.com/odfs42/de/vorlagenentwicklung/vorlagensyntax/systemobjekte/cell/cell_1.html?...
Hab ich so versucht. Mir wird aber kein Wert ausgegeben.
<ROW number="LAST"><![CDATA[<tr class="$CMS_VALUE(#cell.rowNumber)$">$CMS_VALUE(#content)$</tr>]]></ROW>
Hallo Herr Meister,
innerhab des ROW Tags steht das #cell Objekt nicht zur Verfügung, insofern ist es das erwartete Verhalten
Ich würde es so lösen:
- Sonderbehandlung für die letzte Zeile:
<ROW number="LAST"><![CDATA[<tr class="$CMS_VALUE(lastRowClass)$ bottom">$CMS_VALUE(#content)$</tr>]]></ROW>
- Die Variable lastRowClass dann in graden und ungraden Zeilen entsprechend füllen:
<ROW number="ODD"><![CDATA[<tr class="odd">$CMS_VALUE(#content)$</tr>$CMS_SET(lastRowClass,"even")$]]></ROW>
<ROW number="EVEN"><![CDATA[<tr class="odd">$CMS_VALUE(#content)$</tr>$CMS_SET(lastRowClass,"")$]]></ROW>
Der in der vorletzten Zeile gesetzte Wert ist dann für die letzte Zeile gültig. Hier muss man zwar etwas "um die Ecke denken", dafür kommt man ohne Abfragen aus
Viele Grüsse aus Dortmund,
Holger Höbbel
Super! Das ist eine Klasse Lösung.
Vielen Dank