Startseite
Startseite
Startseite

Startseite / Vorlagenentwicklung / Vorlagensyntax / Funktionen / im Header / legacyContains

legacyContains Verfügbar bis FirstSpirit-Version 4.0

Verwendung der Funktion legacyContains

Bei der FunktionlegacyContains handelt es sich um eine Vergleichsfunktion, die das Vorkommen einer oder mehrerer Teilzeichenketten in einer vorgegebenen Zeichenkette (Quellzeichenkette) ermittelt.

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

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$

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".equals(BEZEICHNER))$
...
$CMS_ELSE$
...
$CMS_END_IF$
$CMS_SWITCH(BEZEICHNER)$
...
$CMS_CASE("ZEICHENKETTE")$
...
$CMS_END_SWITCH$

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 legacyContains-Funktion

Der Grundaufbau der Funktion legacyContains sieht wie folgt aus:

<CMS_FUNCTION name="legacyContains" resultname="BEZEICHNER">
<CMS_VALUE_PARAM name="source" value="BEZEICHNER"/>
<CMS_PARAM name="contains" value="ZEICHENKETTE"/>
<CMS_PARAM name="ignoreCase" value="BOOLEAN"/>
<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 legacyContains-Funktion

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

  • contains
  • falseCase
  • ignoreCase
  • source
  • trueCase

Wichtig Der Parameter source ist ein Pflichtparameter. Es muss mindestens einmal der Parameter contains und 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

contains

Eine oder mehrere Vergleichszeichenketten (logisch-und-verknüpft)

X

O

O

ja

falseCase

Ausführungsteil, wenn keine Teilzeichenkette enthalten ist

X

X

X

ja

ignoreCase

Groß-/Kleinschreibung ignorieren

O

X

O

nein

source

Vorgabe- / Quellzeichenkette

X

X

O

ja

trueCase

Ausführungsteil, wenn eine oder mehrere Teilzeichenketten enthalten sind

X

X

X

ja

           

Parameter contains

Mit dem Parameter contains können eine oder mehrere Teilzeichenketten angegeben werden, auf deren Inhalt die Quellzeichenkette (Parameter source) untersucht werden soll.

Die einzelnen contains-Parameter sind bei der Suche logisch-und-verknüpft.

Wichtig Bei der Defintion einer legacyContains-Funktion muss der Parameter contains mindestens einmal verwendet werden.

Definition mit der Angabe einer Konstanten:

<CMS_FUNCTION name="legacyContains" resultname="name">
<CMS_PARAM name="contains" value="KONSTANTE" />
<CMS_PARAM name="contains" value="KONSTANTE" />
...
</CMS_FUNCTION>

Parameter falseCase

Mit dem Parameter falseCase wird ein Ausgabewert für den Fehlerfall definiert. Wird kein Vorkommen einer (oder mehrerer) Teilzeichenketten (Parameter contains) in der Quellzeichenkette (Parameter source) gefunden, wird 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 legacyContains-Funktion muss falseCase oder trueCase angegeben werden.

Definition unter Angabe einer Konstanten:

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

Definition unter Angabe von Ausdrücken:

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

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

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

Parameter ignoreCase

Ohne Definition des Parameters ignoreCase wird beim Vergleich der Teilzeichenketten mit der Quellzeichenkette die Groß- und Kleinschreibung der Teilzeichenketten berücksichtigt (Boolesche Konstante: false).

Wird für den Parameter ignoreCase die Boolesche Konstante true angegeben, wird die Groß- und Kleinschreibung der Teilzeichenkette nicht berücksichtigt.

Definition unter Angabe einer Boolesche Konstanten:

<CMS_FUNCTION name="legacyContains" resultname="name">
<CMS_VALUE_PARAM name="ignoreCase" value="true" />
...
</CMS_FUNCTION>
<CMS_FUNCTION name="legacyContains" resultname="name">
<CMS_VALUE_PARAM name="ignoreCase" value="false" />
...
</CMS_FUNCTION>

Parameter source

Mit dem Parameter source wird die Quellzeichenkette angegeben.

Bei der Auswertung der legacyContains-Funktion wird das Vorkommen einer Teilzeichenkette (Parameter contains) in der Quellzeichenkette ermittelt.

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

Definition unter Angabe einer Konstanten:

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

Definition unter Angabe von Ausdrücken:

<CMS_FUNCTION name="legacyContains" 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 mindestens eine der angegebenen Teilzeichenketten (Parameter contains) in der Quellzeichenkette (Parameter source) enthalten ist.

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 legacyContains-Funktion muss falseCase oder trueCase angegeben werden.

Definition unter Angabe einer Konstanten:

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

Definition unter Angabe von Ausdrücken:

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

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

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

Beispiele zur Funktion legacyContains

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.

1. Beispiel: Angabe eine Teilzeichenkette

<CMS_FUNCTION name="legacyContains" resultname="containsString">
<CMS_PARAM name="source" value="Eine Zeichenkette" />
<CMS_PARAM name="contains" value="EiChE" />
<CMS_VALUE_PARAM name="ignoreCase" value="true" />
<CMS_PARAM name="trueCase" value="Teilzeichenkette enthalten" />
<CMS_PARAM name="falseCase" value="Teilzeichenkette NICHT enthalten" />
</CMS_FUNCTION>

Im Beispiel wird bei der Auswertung versucht die Teilzeichenkette EiChE in der Quellzeichenkette Eine Zeichenkette zu finden. Da die Groß- und Kleinschreibung beim Vergleich nicht berücksichtigt wird, liefert der Vergleich true zurück und somit wird Teilzeichenkette enthalten ausgegeben.

2. Beispiel: Angabe mehrerer Teilzeichenketten

<CMS_FUNCTION name="legacyContains" resultname="containsString">
<CMS_PARAM name="source" value="Eine Zeichenkette" />
<CMS_PARAM name="contains" value="Weiche" />
<CMS_PARAM name="contains" value="Kette" />
<CMS_VALUE_PARAM name="ignoreCase" value="true" />
<CMS_PARAM name="trueCase" value="Teilzeichenkette enthalten" />
<CMS_PARAM name="falseCase" value="Teilzeichenkette NICHT enthalten" />
</CMS_FUNCTION>

Im Beispiel wird bei der Auswertung versucht erst die Teilzeichenkette Weiche und dann Kette in der Quellzeichenkette Eine Zeichenkette zu finden. Da die Groß- und Kleinschreibung beim Vergleich nicht berücksichtigt wird, liefert der Vergleich true zurück und somit wird Teilzeichenkette enthalten ausgegeben.

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