Startseite / Vorlagenentwicklung / Vorlagensyntax / Funktionen / im Header / Table

Table

Inhaltsverzeichnis

Der Inhalt einer DOMTABLE-Eingabekomponente kann mit den Formatvorlagen mit den Kürzeln table, tr und td ausgeben werden (siehe dazu Seiten Standard-Formatvorlagen, Ausgabe u.a. im Kapitel Formatvorlagen). Die Anwendung der Formatvorlagen wird in der Reihenfolge Formatvorlage table einmal für die Tabelle, tr für jede Zeile und td für jede Zelle vorgenommen.

Somit kann eine Tabelle mit wenig Aufwand unter der Verwendung der $CMS_VALUE(...)$-Anweisung ausgegeben werden:

$CMS_VALUE(BEZEICHNER)$

Die Ausgabe mithilfe von Formatvorlagen ist sinnvoll, wenn in einem Projekt alle Tabellen den gleichen Aufbau und das gleiche Aussehen haben sollen.

Sollen jedoch Tabellen mit unterschiedlichem oder komplexem Aussehen erzeugt werden, kann dies mit der Funktion Table realisiert werden.

Wichtig Werden in der Funktion Table für die Tabelle (z. B. fehlende HEADERSPEC-Angabe), eine Zeile (z. B. fehlende ROW-Angabe) oder eine Zelle (z. B. fehlende COL-Angabe) keine Definition angegeben, so werden die Standard-Formatvorlagen für Tabellen angewendet. Für die Tabelle wird dann die Formatvorlage mit dem Kürzel table, für eine Zeile die Formatvorlage mit dem Kürzel tr und für eine Zelle die Formatvorlage mit dem Kürzel td verwendet.
Wichtig Eine weitere Möglichkeit, Tabellen in FirstSpirit zu verwenden sind die so genannten Inline-Tabellen (CMS_INPUT_DOM mit Parameter table="yes").

Syntax der "Table"-Funktion

Der Grundaufbau der Funktion Table sieht wie folgt aus:

<CMS_FUNCTION name="Table" resultname="BEZEICHNER">
<CMS_VALUE_PARAM name="tableData" value="BEZEICHNER" />
<CMS_NODE_PARAM name="tableFormat">
<HEADERSPEC><![CDATA[...$CMS_VALUE(#content)$...]]></HEADERSPEC>
<ROWSPEC name="BEZEICHNER"><![CDATA[...$CMS_VALUE(#content)$...]]></ROWSPEC>
<ROW number="GANZZAHL"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="GANZZAHL-GANZZAHL"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="GANZZAHL-%n"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="ODD"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="EVEN"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="ALL"><![CDATA[...$CMS_VALUE(#content)$...]]></ROW>
<ROW number="ALL" spec="BEZEICHNER" />
<CELLSPEC name="BEZEICHNER"><![CDATA[...$CMS_VALUE(#content)$...]]></CELLSPEC>
<CELL row="GANZZAHL" col="GANZZAHL"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="GANZZAHL-GANZZAHL" col="GANZZAHL-GANZZAHL"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="GANZZAHL-%n" col="GANZZAHL-%n"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="ODD" col="ODD"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="EVEN" col="EVEN"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="ALL" col="ALL"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="ALL" col="ALL" filltype="FILLED"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="ALL" col="ALL" filltype="EMPTY"><![CDATA[...$CMS_VALUE(#content)$...]]></CELL>
<CELL row="ALL" col="ALL" spec="BEZEICHNER" />
</CMS_NODE_PARAM>
</CMS_FUNCTION>
Wichtig Bei den Parametern tableData und tableFormat handelt es sich um Pflichtparameter.

Systemobjekte innerhalb der "Table"-Funktion

Innerhalb der Tags im Parameter tableFormat sind Systemobjekte verfügbar. Die verfügbaren Systemobjekte können der nachfolgenden Tabelle entnommen werden:

 

#table

#cell

#content

HEADERSPEC

verfügbar

nicht verfügbar

verfügbar

ROWSPEC

verfügbar

nicht verfügbar

verfügbar

ROW

verfügbar

nicht verfügbar

verfügbar

CELLSPEC

verfügbar

verfügbar

verfügbar

CELL

verfügbar

verfügbar

verfügbar

    

Parameter der "Table"-Funktion

Die Table-Funktion verfügt über folgende Parameter:

Der Parameter tableFormat ist zusätzlich in Tags unterteilt:

Parameter tableData

Mit dem Pflichtparameter tableData werden die in einer DOMTABLE-Eingabekomponente eingepflegten Daten der Table-Funktion zur Verfügung gestellt.

Als Wert für den Parameter ist der Bezeichner der Eingabekomponente anzugeben:

<CMS_INPUT_DOMTABLE name="st_table">
...
</CMS_INPUT_DOMTABLE>

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
...
</CMS_FUNCTION>

Parameter tableFormat

Mithilfe des Pflichtparameters tableFormat werden die anzuwendenden Formatierungen für die Tabelle angegeben.

Hierfür stehen zur Beschreibung der Formatierung folgende Tags zur Verfügung:

Tag CELL

Mit dem Tag CELL wird die Ausgabedefinition einer Zelle festgelegt.

coll / row

Mit den Pflichtattributen col und row werden die Zeilen und Spalten angegeben, für die die Definition gelten soll.

Mögliche Werte für die Attribute col und row sind:

  • ALL (Alle)
    gilt für alle Zeilen/Spalten
  • EVEN (Gerade)
    gilt für alle geraden Zeilen/Spalten
  • LAST (Letztes Element)
    gilt für die letzte Zeile/Spalte;
    Synonym für die Angabe des Platzhalters %n als Konstante
  • ODD (Ungerade)
    gilt für alle ungeraden Zeilen/Spalten
  • GANZZAHL (Konstante)
    gilt für die angegebene Zeile/Spalte;
    wobei der Platzhalter %n für die letzte Zeile/Spalte verwendet werden kann (Synonym für LAST).
  • GANZZAHL-GANZZAHL (Bereich)
    gilt für den angegebenen Bereich von Zeilen/Spalten;
    wobei der Platzhalter %n für die letzte Zeile/Spalte verwendet werden kann.

Die Auswertung der angegebenen Parameter erfolgt von speziellen (GANZZAHL) zu allgemeinen (ALL) Werten. Es wird die erste zutreffende Definition ausgeben. Zu beachten ist, dass der Wert LAST und die Angabe des Platzhalters %n für GANZZAHL gleichbehandelt werden.

Beispiel:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<CELL col="ALL" row="ALL"><![CDATA[<td colspan="$CMS_VALUE(#cell.colspan)$" rowspan="$CMS_VALUE(#cell.rowspan)$">$CMS_VALUE(#content)$</td>]]></CELL>
</CMS_NODE_PARAM>
</CMS_FUNCTION>

Die im Beispiel angegebene CELL-Definition wird auf alle Spalten und Zeilen angewendet.

Zusätzlich zu den Pflichtattributen können die beiden optionalen Attribute filltype und spec verwendet werden:

filltype

Mit der Angabe des Attributes filltype wird bei der Ausgabe berücksichtigt, ob der Inhalt einer Zelle gefüllt oder nicht gefüllt ist.

Um eine Definition nur auf gefüllte Zellen anzuwenden ist als Wert FILLED anzugeben. Für leere Zellen muss EMPTY angegeben werden

Beispiel:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
<HEADERSPEC><![CDATA[<table>$CMS_VALUE(#content)$</table>]]></HEADERSPEC>
<ROW number="ALL"><![CDATA[<tr>$CMS_VALUE(#content)$</tr>]]></ROW>
<CELL col="ALL" row="ALL" filltype="FILLED"><![CDATA[<td colspan="$CMS_VALUE(#cell.colspan)$" rowspan="$CMS_VALUE(#cell.rowspan)$">GEFÜLLT</td>]]></CELL>
<CELL col="ALL" row="ALL" filltype="EMPTY"><![CDATA[<td colspan="$CMS_VALUE(#cell.colspan)$" rowspan="$CMS_VALUE(#cell.rowspan)$">LEER</td>]]></CELL>
</CMS_NODE_PARAM>
</CMS_FUNCTION>

Mit dem Beispiel wird für eine Zelle mit Inhalt die Ausgabe: GEFÜLLT ausgegeben und für eine Zelle ohne Inhalt die Ausgabe: LEER ausgegeben.

spec

Das optionale Attribut spec wendet eine CELLSPEC-Definition auf die angegebenen Zelle an. Damit die Definition angewendet wird, müssen die Bezeichner übereinstimmen:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<CELLSPEC name="cell"><![CDATA[<td colspan="$CMS_VALUE(#cell.colspan)$" rowspan="$CMS_VALUE(#cell.rowspan)$">$CMS_VALUE(#content)$</td>]]></CELLSPEC>
<CELL col="ALL" row="ALL" spec="cell" />
</CMS_NODE_PARAM>
</CMS_FUNCTION>
Wichtig Bei Verwendung des Attributs spec darf das CELL-Tag keinen CDATA-Block enthalten!

Tag CELLSPEC

Beim Tag CELLSPEC handelt es sich um eine benannte Zellenvorlage, die in einem CELL-Tag verwendet werden kann. Hierzu wird der beim Attribut name vergebene Bezeichner im CELL-Tag verwendet:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<CELLSPEC name="cell"><![CDATA[<td colspan="$CMS_VALUE(#cell.colspan)$" rowspan="$CMS_VALUE(#cell.rowspan)$">$CMS_VALUE(#content)$</td>]]></CELLSPEC>
<CELL col="ALL" row="ALL" spec="cell" />
</CMS_NODE_PARAM>
</CMS_FUNCTION>

Tag HEADERSPEC

Beim Tag HEADERSPEC handelt es sich um die Basisvorlage für eine Tabelle, da sie das Grundgerüst der Tabelle enthält. Wird eine Tabelle erzeugt, so wird einmal HEADERSPEC ausgewertet und für jede Zeile die zutreffendste ROW-Definition und für jede Zelle die zutreffendste CELL-Definition.

Üblicherweise enthält die Definition für eine HTML-Tabelle das öffnende und schließende table-Tag, sowie $CMS_VALUE(#content)$ für den Inhalt der Tabelle:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_able" />
<CMS_NODE_PARAM name="tableFormat">
<HEADERSPEC><![CDATA[<table>$CMS_VALUE(#content)$</table>]]></HEADERSPEC>
...
</CMS_NODE_PARAM>
</CMS_FUNCTION>

Tag ROW

Mit dem Tag ROW wird die Ausgabe einer Zeile festgelegt.

number

Mit dem Pflichtattribut number werden die Zeilen angegeben, für die die Definition gelten soll.

Mögliche Werte für das Attribut number sind:

  • ALL (Alle)
    gilt für alle Zeilen/Spalten
  • EVEN (Gerade)
    gilt für alle geraden Zeilen/Spalten
  • LAST (Letztes Element)
    gilt für die letzte Zeile/Spalte;
    Synonym für die Angabe des Platzhalters %n als Konstante
  • ODD (Ungerade)
    gilt für alle ungeraden Zeilen/Spalten
  • GANZZAHL (Konstante)
    gilt für die angegebene Zeile/Spalte;
    wobei der Platzhalter %n für die letzte Zeile/Spalte verwendet werden kann (Synonym für LAST).
  • GANZZAHL-GANZZAHL (Bereich)
    gilt für den angegebenen Bereich von Zeilen/Spalten;
    wobei der Platzhalter %n für die letzte Zeile/Spalte verwendet werden kann.

Die Auswertung der angegebenen Parameter erfolgt von speziellen (GANZZAHL) zu allgemeinen (ALL) Werten. Es wird die erste zutreffende Definition ausgeben. Zu beachten ist, dass der Wert LAST und die Angabe des Platzhalters %n für GANZZAHL gleichbehandelt werden.

Beispiel:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<ROW number="ALL"><![CDATA[<tr>$CMS_VALUE(#content)$</tr>]]></ROW>
</CMS_NODE_PARAM>
</CMS_FUNCTION>

Die im Beispiel angegebene ROW-Definition wird auf alle Zeilen angewendet.

spec

Das optionale Attribut spec wendet eine ROWSPEC-Definition auf die angegebenen Zelle an. Damit die Definition angewendet wird, müssen die Bezeichner übereinstimmen:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<ROWSPEC name="row"><![CDATA[<tr>$CMS_VALUE(#content)$</tr>]]></ROWSPEC>
<ROW number="ALL" spec="row" />
</CMS_NODE_PARAM>
</CMS_FUNCTION>
Wichtig Bei Verwendung des Attributs spec darf das ROW-Tag keinen CDATA-Block enthalten!

Tag ROWSPEC

Beim Tag ROWSPEC handelt es sich um eine benannte Zeilenvorlage, die in einem ROW-Tag verwendet werden kann. Hierzu wird der beim Attribut name vergebene Bezeichner im ROW-Tag verwendet:

<CMS_FUNCTION name="Table" resultname="fr_st_table">
<CMS_VALUE_PARAM name="tableData" value="st_table" />
<CMS_NODE_PARAM name="tableFormat">
...
<ROWSPEC name="row"><![CDATA[<tr>$CMS_VALUE(#content)$</tr>]]></ROWSPEC>
<ROW number="ALL" spec="row" />
</CMS_NODE_PARAM>
</CMS_FUNCTION>

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz