CSS-Ersetzungen

Ein zentraler Punkt der Variation von Vorlagen ist das Ändern der verwendeten CSS-Dateien. Dabei kann die Variation über das blosse Austauschen von CSS-Dateien hinausgehen.
Häufiger möchte man aber die Möglichkeit nutzen, eine CSS-Datei mit individuellen Werten zu füttern, wobei der Grossteil des Skeletts eigentlich erhalten bleibt.

Die CSS-Ersetzung ist eine von mehreren miteinander kombinierbaren Bausteinen wenn es darum geht, eine CSS-Datei zu generieren. Alle Bausteine beschreiben eine Quelle von CSS-Text als Datenstrom. Diese Ströme können zusammengehängt werden, sie können sich aus CSS-Dateien speisen oder als Text diekt angegeben sein, sie können auch nur abhängig von Bedingunen in Erscheinung treten. Ein solcher Strom kann auch durch Ersetzungsregeln modifiziert werden, wofür der Baustein 'Ersetzung' verantwortlich ist.

Ersetzungs-Regeln

Der CSS-Quelle 'Ersetzung' besteht aus Quellen, die CSS-Text liefern, und einer Liste von Ersetzungen, die nacheinander ausgeführt werden sollen. Notiert werden alle Ersetzungen in einem Text, wobei jede Zeile eine Ersetzung beschreibt.

Jede Ersetzungszeile besteht aus 2 Teilen:

  1. Das Suchmuster: Was soll ersetzt werden?
  2. Der Ersetzungswert: Durch was soll es ersetzt werden?

Nach dem Suchmuster folgt ein ":" und danach der Ersetzungswert. Der ":" darf von Leerzeichen umgeben sein.

Beispiel:
"#ffcc99":"#000"

Das Suchmuster

Das Suchmuster hat eine der folgenden Notationen:

Beispiel für PREG:
|#[a-f0-9A-F]+;|

Der Ersetzungswert

Es gibt 3 Arten von Ersetzungswerten:

  1. Feste Zeichenkette, zB. "#000"
  2. Wert aus einem Variantenfeld, zB. col1
  3. Wert aus einer benannten Zeichenkette, zB. $width_total

Die feste Zeichenkette ist alles innerhalb der Anführungsstriche.

Bei dem Wert aus einem Variantenfeld wird einfach interne Name des Attributes der Varianten-Klasse genannt.

Die 3. Art ist für alle komplizierteren Dinge gedacht. Die CSS-Ersetzung sieht nämlich (wie auch andere CMS-Klassen) vor, dass man komplexe Ausdrücke mit einem Namen versehen kann. In diesem Fall beschreiben die Ausdrücke, wie eine bestimmte Zeichenkette zu berechnen ist. Sie verwenden das Ergebnis dieser Berechnung, indem Sie nach dem "$" den Namen der benannten Zeichenkette notieren.

Möglichkeiten der benannten Zeichenketten

Die benannten Zeichenketten sind extrem ausdrucksstark und können von Ihnen beliebig erweitert werden. Sie könnten auch die ersten 2 Arten von Ersetzungswerten ausdrücken, indem sie eine Zeichenkette angeben bzw. 'Zeichenkette aus aktuellem Inhalt' verwenden, wobei sie als Teil den Namen des Attributes nennen.

Die Zeichenkettenausdrücke können aber viel mehr. Neben den üblichen Zeichenkettenoperationen ist es auch möglich über 'Zeichenkette einer Zahl' zu rechnen. So können Sie zB. in den Varianten mit den Felder 'width1' und 'width2' zwei unabhängige Spaltenbreiten wählen lassen und bei der Ersetzung dann deren Gesamtbreite 'width1+width2' verwenden. Die Möglichkeiten sind hier grenzenlos.