Startseite
Startseite
Startseite

Startseite / Vorlagenentwicklung / Vorlagensyntax / Funktionen / im Header / legacyIf

legacyIf Verfügbar bis FirstSpirit-Version 4.0

Die legacyIf-Funktion erfüllt zwei Funktionalitäten:

  1. Vergleich einer Vergleichszeichenkette mit einer Quellzeichenkette
  2. Leerprüfung der Quellzeichenkette

Wichtig Die legacyIf-Funktion wird in einer späteren FIRSTspirit-Version entfallen.

Gleichheitsprüfung (Equals)

Für die Gleichheitsprüfung der vorgegebenen Zeichenkette:

  • gegen eine Zeichenkette wird die Verwendung von $CMS_IF(...)$ empfohlen.
  • gegen mehrere Zeichenketten wird die Verwendung von $CMS_SWITCH(...)$ empfohlen.

Beispiel:

$CMS_IF("ZEICHENKETTE" == BEZEICHNER)$
...
$CMS_ELSE$
...
$CMS_END_IF$
$CMS_SWITCH(BEZEICHNER)$
...
$CMS_CASE("ZEICHENKETTE")$
...
$CMS_END_SWITCH$

Leerprüfung (isEmpty)

Ob eine vorgegebene Zeichenkette leer oder gefüllt ist, kann über die Verwendung der Methode .isEmpty in Kombination mit $CMS_IF(...)$ geprüft werden:

$CMS_IF(BEZEICHNER.isEmpty)$
...
$CMS_ELSE$
...
$CMS_END_IF$

Teilzeichenketten-Prüfung (Contains)

Für die Prüfung, ob eine Teilzeichenkette in einer anderen Zeichenkette enthalten ist, wird die Methode .contains in Kombination mit $CMS_IF(...)$ empfohlen:

$CMS_IF("TEILZEICHENKETTE".contains(BEZEICHNER))$
...
$CMS_ELSE$
...
$CMS_END_IF$

Syntax der legacyIf-Funktion

Der Grundaufbau der Funktion legacyIf sieht wie folgt aus:

<CMS_FUNCTION name="legacyIf" resultname="BEZEICHNER">
<CMS_VALUE_PARAM name="source" value="BEZEICHNER"/>
<CMS_PARAM name="compareValue" value="ZEICHENKETTE"/>
<CMS_CDATA_PARAM name="trueCase">
<![CDATA[
AUSFÜHRUNGSTEIL (ERFÜLLTE BEDINGUNG)
]]>
</CMS_CDATA_PARAM>
<CMS_CDATA_PARAM name="falseCase">
<![CDATA[
AUSFÜHRUNGSTEIL (NICHT ERFÜLLTE BEDINGUNG)
]]>
</CMS_CDATA_PARAM>
</CMS_FUNCTION>

Parameter der legacyIf-Funktion

Für die legacyIf-Funktion lassen sich folgende Parameter angeben:

  • compareValue
  • falseCase
  • source
  • trueCase

Wichtig Der Parameter source ist ein Pflichtparameter. Es muss entweder falseCase oder trueCase angegeben werden. Alle anderen Parameter sind optional.

Die Werte der einzelnen Parameter können als Konstanten (<CMS_PARAM>), Ausdrücke (<CMS_VALUE_PARAM>) oder Vorlagenfragmente (<CMS_CDATA_PARAM>) angegeben werden.

In der nachfolgenden Tabelle sind die Angabemöglichkeiten der Parameter aufgelistet.

X bedeutet: Verwendung möglich und empfohlen;
O bedeutet: Verwendung möglich, aber nicht empfohlen;
- bedeutet: Verwendung nicht möglich

Parameter

Bedeutung

Angabe einer Konstanten

Angabe von Ausdrücken

Angabe eines Vorlagenfragmentes

Pflicht-
parameter

compareValue

Vergleichszeichenkette

X

X

O

nein

falseCase

Ausführungsteil, wenn keine Teilzeichenkette enthalten ist

X

X

X

ja

source

Vorgabe- / Quellzeichenkette

X

X

O

ja

trueCase

Ausführungsteil, wenn eine oder mehrere Teilzeichenketten enthalten sind

X

X

X

ja

           

Parameter compareValue

Mit dem Parameter compareValue kann eine Zeichenketten angegeben werden, mit der die Quellzeichenkette (Parameter source) verglichen wird.

Definition mit der Angabe einer Konstanten:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_PARAM name="compareValue" value="KONSTANTE" />
...
</CMS_FUNCTION>

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_VALUE_PARAM name="compareValue" value="AUSDRUCK" />
...
</CMS_FUNCTION>

Parameter falseCase

Mit dem Parameter falseCase wird ein Ausgabewert für den Fehlerfall definiert. Stimmt die Vergleichszeichenkette (Parameter compareValue) nicht mit der Quellzeichenkette (Parameter source) überein oder ist die Quellzeichenkette leer (bei nicht angegebener Vergleichszeichenkette), wird der hier definierte Wert zurückgegeben.

Wichtig Aus Rückwärtskompatibilitätsgründen kann für falseCase das Synonym falseValue benutzt werden. Dieses Synonym sollte aber nicht mehr weiterverwendet werden.

Wichtig Bei der Definiton einer legacyIf-Funktion muss falseCase oder trueCase angegeben werden.

Definition unter Angabe einer Konstanten:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_PARAM name="falseCase" value="KONSTANTE" />
...
</CMS_FUNCTION>

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_VALUE_PARAM name="falseCase" value="AUSDRUCK" />
...
</CMS_FUNCTION>

Definition unter Angabe eines Vorlagenfragmentes (vergleichbar mit einer Absatzvorlage):

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_CDATA_PARAM name="falseCase">
<![CDATA[
RUMPF DES VORLAGENFRAGMENTES
]]>
</CMS_CDATA_PARAM>
...
</CMS_FUNCTION>

Parameter source

Mit dem Parameter source wird die Quellzeichenkette angegeben.

Bei der Auswertung der legacyIf-Funktion wird die Übereinstimmung der Vergleichszeichenkette (Parameter compareValue) mit der Quellzeichenkette ermittelt.

Wurde keine Vergleichszeichenkette angegeben, so wird geprüft, ob die Quellzeichenkette nicht leer ist.

Wichtig Bei dem Parameter source handelt es sich um einen Pflichtparameter.

Definition unter Angabe einer Konstanten:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_PARAM name="source" value="KONSTANTE" />
...
</CMS_FUNCTION>

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_VALUE_PARAM name="source" value="AUSDRUCK" />
...
</CMS_FUNCTION>

Parameter trueCase

Mit dem Parameter trueCase wird ein Ausgabewert für den Fall definiert, dass die Vergleichszeichenkette (Parameter compareValue) mit der Quellzeichenkette (Parameter source) übereinstimmt oder die Quellzeichenkette nicht leer ist (bei nicht angegebener Vergleichszeichenkette).

Wichtig Aus Rückwärtskompatibilitätsgründen kann für trueCase das Synonym trueValue benutzt werden. Dieses Synonym sollte aber nicht mehr weiterverwendet werden.

Wichtig Bei der Definiton einer legacyIf-Funktion muss falseCase oder trueCase angegeben werden.

Definition unter Angabe einer Konstanten:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_PARAM name="trueCase" value="KONSTANTE" />
...
</CMS_FUNCTION>

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_VALUE_PARAM name="trueCase" value="AUSDRUCK" />
...
</CMS_FUNCTION>

Definition unter Angabe eines Vorlagenfragmentes (vergleichbar mit einer Absatzvorlage):

<CMS_FUNCTION name="legacyIf" resultname="name">
<CMS_CDATA_PARAM name="trueCase">
<![CDATA[
RUMPF DES VORLAGENFRAGMENTES
]]>
</CMS_CDATA_PARAM>
...
</CMS_FUNCTION>

Beispiele zur Funktion legacyIf

Nachfolgend werden einige Beispiele zur Verwendung der Anweisung innerhalb von Vorlagen gezeigt. Die Beispiele sollen die konkrete Auswirkung der Anweisung verdeutlichen und eine Hilfe für den Vorlagenentwickler bei der Erstellung eigener Vorlagen sein.

Wichtig Für die Verwendung innerhalb eines Projekts, müssen die hier gezeigten Beispiele angepasst werden! Beispielsweise müssen Variablennamen auf die spezifischen Variablennamen des Projekts geändert werden, in dem die Anweisung verwendet werden soll.

Beispiel: Vergleich zweier Zeichenketten

<CMS_FUNCTION name="legacyIf" resultname="equalsString">
<CMS_PARAM name="source" value="Eine Zeichenkette" />
<CMS_PARAM name="compareValue" value="EiChE" />
<CMS_PARAM name="trueCase" value="Zeichenketten stimmen überein" />
<CMS_PARAM name="falseCase" value="Zeichenketten stimmen NICHT überein" />
</CMS_FUNCTION>

Im Beispiel wird bei der Auswertung überprüft, ob die Vergleichszeichenkette EiChE mit der Quellzeichenkette Eine Zeichenkette identisch ist. Da der Vergleich false zurückliefert, wird somit Zeichenketten stimmen NICHT überein ausgegeben.

© 2005 - 2012 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 18.02.2010