TimoMeister
Returning Responder

CMS_FUNCTION - Letzte Reihe gerade bzw. ungerade

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions

Hallo Herr Meister,

innerhab des ROW Tags steht das #cell Objekt nicht zur Verfügung, insofern ist es das erwartete Verhalten Smiley Sad

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 Smiley Wink

Viele Grüsse aus Dortmund,

  Holger Höbbel

View solution in original post

0 Kudos
4 Replies
feddersen
Community Manager

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?...

0 Kudos
TimoMeister
Returning Responder

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>

0 Kudos

Hallo Herr Meister,

innerhab des ROW Tags steht das #cell Objekt nicht zur Verfügung, insofern ist es das erwartete Verhalten Smiley Sad

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 Smiley Wink

Viele Grüsse aus Dortmund,

  Holger Höbbel

0 Kudos

Super! Das ist eine Klasse Lösung.

Vielen Dank

0 Kudos