<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

name Pflichtfeld: ja

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 -
match Pflichtfeld: ja

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 -
type Pflichtfeld: nein

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 -
doc Pflichtfeld: nein

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 Pflichtfeld: nein

 

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

Zwei Datumsfelder miteinander vergleichen mit webEdition Boardmitteln.
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

Code
<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.

powered by webEdition CMS