<we:ifVar />
Zeigt den umschlossenen Inhalt nur dann an, wenn der Wert der beim Attribut "name" angegebenen Variablen mit dem beim Attribut "match" angegebenen Wert übereinstimmt.
ab Version | 1.3.0.0 |
Endtag erforderlich | nein |
Pflichtattribute |
Attribute
Bei diesem Attribut gibst Du als Wert den Namen der Variablen an, die zum Vergleich herangezogen werden soll.
ab Version | 2.0.0.0 |
Typ | string |
Standardwert | - |
Bei diesem Attribut gibst Du den Wert an, welcher zur Überprüfung herangezogen werden soll. Es ist hier ebenfalls möglich eine Kommaseparierte Liste einzutragen, dann erfolgt die Überprüfung aber ausschließlich auf Gleichheit.
Globale Werte können hier mittels \$xx (=$GLOBALS['xx']) oder \$xx[1] (=$GLOBALS['xx'][1]) bzw. \$xx[ab] (=$GLOBALS['xx']['ab']) zur Überprüfung herangezogen werden. Für Array-Vergleiche funktioniert: "a,b,c" oder ["a","b","c"]
Ab webEdition 8.0 werden die Werte "true" & "false" automatisch in booleans umgewandelt. Es findet kein String-Vergleich statt!
ab Version | 2.0.0.0 |
Typ | string |
Standardwert | - |
Bei diesem Attribut gibt man als Wert an, um welche Art von Variable es sich handelt, die zum Vergleich herangezogen wird.
- global: dann wird mit einer globalen Variablen verglichen.
- request: wird eine Request-Variable zum Vergleich herangezogen. Unter einer "Request-Variablen" versteht man eine Variable, welche entweder an den URL der Seite angehängt ist (seite.php?category=Film) oder per "get" bzw. "post" durch ein Formular an die Folgeseite übergeben wird.
- document: wird mit einer Dokumenten-Variablen verglichen. Eine Dokumenten-Variable ist in der Regel ein Element, welches z.B. mit <we:input> eingegeben wurde.
- session: wird mit einer Session-Variable verglichen.
- sessionfield: wird mit einer Sessionvariablen der Kundenverwaltung verglichen.
- property: greifst Du auf Eigenschaften von Dokumenten/Objekten zu, die man auch als Administrator/Template-Entwickler nicht verändern kann, weil diese von webEdition vorgegeben sind (es gibt aber auch Ausnahmen z. B. beim Zugriff auf Title, Description und Keywords).
- cookie: ab 8.0.7 um damit auf Cookies zuzugreifen
ab Version | 1.3.0.0 |
Typ | string |
mögliche Werte | global, request, document, property, session, sessionfield, cookie |
Standardwert | - |
Wenn Du als Wert dieses Attributs "self" angibst, bezieht es sich auf das aktuelle webEdition-Dokument. Handelt es sich dabei um ein webEdition-Dokument, welches in ein anderes eingefügt wird (siehe <we:include />), so wird ein Bezug auf das eingefügte webEdition-Dokument hergestellt. Wenn Du als Wert dieses Attributs "top" angibst oder das Attribut nicht setzt, dann bezieht es sich auf das Haupt-webEdition-Dokument, auch wenn es sich dabei um ein webEdition-Dokument handelt, welches in ein anderes eingefügt wird (siehe <we:include />).
Wird das Tag innerhalb einer verwendet und das Attribut auf "listview" gesetzt, wird die ID der Seite, auf die der <we:listview /> verweist, ausgegeben.
ab Version | 1.3.0.0 |
Typ | string |
mögliche Werte | top, self, listview |
Standardwert | top |
Operator | Feldwert | Match | Ergebnis |
equal | ab | ab | true |
ab | c | false | |
2 | 2 | true | |
less | 1 | 2 | true |
1 | 1 | false | |
less|equal | 1 | 2 | true |
1 | 1 | true | |
1 | 0 | false | |
greater | 2 | 1 | true |
2 | 2 | false | |
greater|equal | 2 | 1 | true |
2 | 2 | true | |
2 | 3 | false | |
contains | test | es | true |
a,b,c,d | a,d | false | |
a,b,c,d | a,b | true | |
a,b,c,d | b | true | |
isin | b | a,b,c,d | true |
e | a,b,c,d | false | |
a,b | a,b,c,d | true |
ab Version | 1.3.0.0 |
Typ | string |
mögliche Werte | equal, less, less|equal, greater, greater|equal, isin (seit 6.4.1), contains |
Standardwert | equal |
Syntax
<we:ifVar name="" match="" type="global|request|document|property|session|sessionfield|cookie" doc="top|self|listview" operator="equal| less| less|equal| greater| greater|equal| isin (seit 6.4.1)| contains"/>
Beispiele
Beispiel #1 - Datumsfelder vergleichen
Code
<we:var name="datum1" type="date" format="U" nameto="x" to="global" /> <we:var name="datum2" type="date" format="U" nameto="y" to="global" /> <we:ifVar name="y" type="date" format="U" operator="greater" match="\$x">..</we:ifVar>
Beispiel #2 - Vergleich String und Array
<we:comment>Ein String ist einem längeren String enthalten</we:comment> <we:setVar nameto="haystack" to="global" value="Dies ist ein Text" varType="string" /> <we:ifVar match="ein" name="haystack" operator="contains" type="global"> Match <we:else /> No Match </we:ifVar> <we:comment>Sobald man eine Liste in match übergibt, wird geprüft ob die Variable einem der Werte in dem Array entspricht</we:comment> <we:setVar nameto="haystack" to="global" value="ein" varType="string" /> <we:ifVar match="kein,mein,ein" name="haystack" operator="equal" type="global"> Match <we:else /> No Match </we:ifVar>
Hilf mit!
Hast Du eine Ergänzung für die Tag-Referenz, dann werde bitte aktiv.
Entweder über einen Eintrag unter qa.webedition.org oder
einfach formlos per E-Mail an
websites@webedition.org.
Fehler oder Erweiterungswünsche zu webEdition selbst bitte über qa.webedition.org melden.