Startseite / Vorlagenentwicklung / Vorlagensyntax / Systemobjekte / #style

#styleVerfügbar ab FirstSpirit-Version 4.1

Das Systemobjekt #style kann in den Formatvorlagen für Tabellenzeilen und -zellen (Kürzel „tr“ und „td“) sowie in Stilvorlagen verwendet werden. Über dieses Systemobjekt kann

zugegriffen werden.

Stilvorlagen anlegen

Anders als andere Formatvorlagen verfügen Stilvorlagen über ein Register „Formular“. Innerhalb des Formularbereichs einer Stilvorlage können Eingabekomponenten zur Pflege von Layout-Attributen angelegt werden.

Einige vorgegebene Layout-Attribute (mit reservierten Bezeichnern) wirken sich direkt auf die Darstellung der Tabelleninhalte innerhalb des DOM-Editors aus:

Eingabekomponente / Bezeichner

Bedeutung

bgcolor

legt die Hintergrundfarbe einer Tabellenzelle fest

color

legt die Schriftfarbe eines Textes innerhalb der Tabellenzelle fest

align

legt die horizontale Ausrichtung eines Textes in der Tabellenzelle fest

valign
(nur ContentCreator)

legt die vertikale Ausrichtung eines Textes in der Tabellenzelle fest

  
Wichtig Für die Layoutfunktionalitäten (Hintergrundfarbe, Schriftfarbe und Ausrichtung) müssen die vorgegebenen Bezeichner verwendet werden. In der Eingabekomponente müssen sie immer mit name="Bezeichner“ angegeben werden, z. B. <CMS_INPUT_TEXT name="bgcolor" .../>.

Die Werte, die in den Eingabekomponenten durch den Redakteur eingegeben wurden, können innerhalb eines Vorlagensatzes der Stilvorlage (z. B. „HTML“) wieder ausgegeben werden. Wurden vom Redakteur einer Zelle keine Werte (Eigenschaften) manuell eingegeben, werden statt dessen die vom Vorlagenentwickler definierten Rückgriffwerte verwendet.

Dazu muss der Name der Eingabekomponente mittels der Anweisung $CMS_VALUE(...)$ ausgegeben werden:

$CMS_VALUE(if(!bgcolor.isEmpty, " bgcolor=" + bgcolor, ""))$

oder

$CMS_IF(!bgcolor.isEmpty)$
$CMS_VALUE(bgcolor)$
$CMS_END_IF$

Auf die gespeicherten Werte kann auch außerhalb der Stilvorlage zugegriffen werden, z. B. in der Formatvorlage „td“ (siehe unten).

Tabellenformatvorlagen anlegen

In Tabellenformatvorlagen können einerseits die minimale und maximale Anzahl von Zeilen bzw. Spalten, die eine vom Redakteur angelegte Inline-Tabelle haben soll, festgelegt werden. Andererseits können hier auch Regeln angegeben werden, die das Layout der Tabelle definieren. Auf diese Weise lassen sich beispielsweise Layouts für Tabellen mit Kopf- und Fußzeilen erstellen oder für Tabellen, in denen sich die Farbe von geraden und ungeraden Zeilen oder Spalten unterscheidet.

Es können Regeln zur Formatierung von bestimmten Zeilen, Spalten und Zellen definiert werden, auf die jeweils unterschiedliche Stilvorlagen angewendet werden. Die nachfolgende Grafik zeigt eine Tabellenformatvorlage, die auf die erste Zeile die Stilvorlage „header“ anwendet, und auf Zellen in geraden Zeilen und ungeraden Spalten die Stilvorlage „checker“.

Systemobjekt style (Tabellenformatvorlage)

Darstellungsregeln

Bei der Auswertung werden die Regeln von oben nach unten betrachtet. Trifft eine Regel für die Zelle zu, so wird die definierte Stilvorlage verwendet. Alle nachfolgenden Regeln, die auch für die Zelle zutreffen würden, werden jedoch nicht mehr angewendet.

Auf Zellen, auf die keine Regel zutrifft, wird die Standard Stilvorlage angewendet.

Beispiel:
Um ein Tabellenlayout im „Schachbrettmuster“ sowie mit Kopf- und Fußzeile zu erstellen, müssen die Regeln für Kopf- und Fußzeile oben in der Liste stehen, damit sie „vorrangig“ ausgewertet werden:

Systemobjekt style (Darstellungsregeln 1)

Regel-Definition: Fußzeile an zweiter Position (Klick zum Vergrößern)

Die Ausgabe, basierend auf den Rückgriffwerten, sieht folgendermaßen aus:

Ausgabe (Rückgriffwerte)

Ausgabe (Rückgriffwerte)

Im Vergleich dazu: die Regel für die Fußzeile steht an letzter Position:

Systemobjekt style (Darstellungsregeln 2)

Regel-Definition: Fußzeile an letzter Position (Klick zum Vergrößern)

In diesem Fall wird die Regel für die Fußzeile nicht auf die gesamte letzte Zeile angewendet. Die Ausgabe sieht nun folgendermaßen aus:

Ausgabe (Rückgriffwerte)

Ausgabe (Rückgriffwerte)

Wichtig Fazit: Bei der Erstellung einer Tabellenformatvorlage muss auf die korrekte Reihenfolge der Regeln geachtet werden, um die gewünschte Zeilen-/Spalten-/Zellen-Formatierung zu erhalten.

Zugriff auf Stilvorlagen

Die Inhalte einer Stilvorlage können in der FirstSpirit-Standard-Formatvorlage für Tabellenzellen (Kürzel „td“) ausgegeben werden, um diese bei der Generierung und Vorschau von Inline-Tabellen zu berücksichtigen. Dazu wird in der Formatvorlage „td“ auf den HTML-Kanal der Stilvorlage über das Systemobjekt #style zugegriffen:

<td$CMS_VALUE(#style)$
$CMS_VALUE(if(#cell.rowspan != 0, " rowspan='" + #cell.rowspan + "'"))$
$CMS_VALUE(if(#cell.colspan != 0, " colspan='" + #cell.colspan + "'"))$>
$CMS_VALUE(if(#content.isEmpty, "&nbsp;", #content))$
</td>

Hat der Redakteur oder der Vorlagenentwickler beispielsweise für die Hintergrundfarbe (bgcolor) „#ff00ff“, für die Schriftfarbe (color) „#00ddee“ und für die Textausrichtung (align) „center“ vergeben, wird der Quelltext der Tabellenzelle folgendermaßen generiert:

<table>
<tr>
<td bgcolor="#ff00ff" align="center" color="#00ddee" rowspan='1' colspan='1'>Dies ist ein Text.</td>
...
</tr>
</table>
Wichtig Um die Formatvorlage „td“ für DOM-Tabellen und Inline-Tabellen korrekt verwenden zu können, ist es empfehlenswert, zu prüfen, ob #style gesetzt ist (und zwar über die Methode isNull, nicht über isEmpty). Wenn ja, wird der Inhalt des HTML-Kanals der Stilvorlage ausgegeben, wenn nicht, werden die Inhalte wie Tabelleninhalte einer DOM-Tabelle ausgegeben:
<td
$CMS_IF(#style.isNull)$
$CMS_VALUE(if(!#cell.color.isEmpty, " style='color:" + #cell.color + ";'"))$
$CMS_VALUE(if(!#cell.align.isEmpty, " align='" + if(#cell.align == "block", "justify", #cell.align) + "'"))$
$CMS_VALUE(if(!#cell.bgcolor.isEmpty, " bgcolor='" + #cell.bgcolor + "'"))$
$CMS_ELSE$
$CMS_VALUE(#style)$
$CMS_END_IF$
$CMS_VALUE(if(#cell.rowspan > 1, " rowspan='" + #cell.rowspan + "'"))$
$CMS_VALUE(if(#cell.colspan > 1, " colspan='" + #cell.colspan + "'"))$>
$CMS_VALUE(if(#content.isEmpty, "&nbsp;", #content))$
</td>

Zugriff auf Zelleigenschaften

Ähnlich, wie das Systemobjekt #cell auf die Zelleigenschaften einer DOM-Tabelle zugreift, kann über den Methodenaufruf #style.attr(„BEZEICHNER“) auf die Eigenschaften einer Inline-Tabellenzelle zugegriffen werden. Dabei wird für BEZEICHNER der Name der Eingabekomponente eingesetzt, z. B. bgcolor.

Wichtig Für weiterführende Informationen zur Arbeit mit Inline-Tabellen siehe Kapitel Tabellenformatvorlagen und Stilvorlagen sowie Tabellen integrieren (→Handbuch FirstSpirit SiteArchitect).

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