if

Diese Funktion liefert wahr zurück, wenn ALLE angegebenen Bedingungen erfüllt sind. Wenn eine einzige Bedingung falsch ist, wird als Wert auch falsch zurückgeliefert.
Der zurückgelieferte Wert kann durch die .negate-Eigenschaft negiert werden.

Eigenschaft Datentyp Beschreibung Standard

isTrue

str / stdWrap

Wenn der Inhalt "wahr" ist,... (kein leerer String und nicht null)

isFalse

str / stdWrap

Wenn der Inhalt "falsch" ist,... (leer oder null)

isPositive

int / stdWrap + calc

Liefert falsch zurück, wenn der Inhalt nicht positiv ist.

isGreaterThan

value / stdWrap

Liefert falsch zurück, wenn der Inhalt nicht größer als .value ist.

isLessThan

value / stdWrap

Liefert falsch zurück, wenn der Inhalt nicht kleiner als .value ist.

equals

value / stdWrap

Liefert falsch zurück, wenn der Inhalt nicht .value gleicht.

isInList

value / stdWrap

Liefert falsch zurück, wenn der Inhalt nicht in der kommaseparierten Liste .value zu finden ist. Die Liste in .value darf keine Leerzeichen zwischen den Elementen haben!

value

value / stdWrap

Der "Wert" (Der oben erwähnte Vergleichswert)

negate

boolean

Dies negiert das Ergebnis der Funktion direkt vor der Rückgabe. Wenn die Funktion bis dahin also wahr zurückgeliefert hätte, liefert sie schließlich falsch zurück.

directReturn

boolean

Wenn diese Eigenschaft gesetzt ist, wird automatisch der Wahr/Falsch-Wert dieser Eigenschaft zurückgeliefert. Könnte benutzt werden, um wahr/falsch mit TypoScript-Konstanten zu setzen.

Erläuterung

Die if-Funktion ist eine recht außergewöhnliche Methode, wahr oder falsch zurückzuliefern. Vorsicht beim Gebrauch.

if wird normalerweise benutzt, um zu entscheiden, ob ein Objekt gerendert oder ein Wert zurückgegeben werden soll (siehe die Inhaltsobjekte und stdWrap)

So funktioniert diese Funktion:
Die Funktion liefert wahr oder falsch zurück. Ob sie nun wahr oder falsch zurückliefert, hängt von ihren Eigenschaften ab. Sagen wir also, Sie setzen isTrue=1, dann ist das Ergebnis wahr. Wenn Sie isTrue.field=header setzen, liefert die Funktion wahr zurück, wenn das Feld header in $cObj->data gesetzt ist.

Wenn Sie Werte vergleichen wollen, müssen Sie einen Ausgangswert in die .value-Eigenschaft laden. Beispiel:

TypoScript
  1. .value=10
  2. .isGreaterThan=11

Dies würde wahr zurückliefern, da der Wert von .isGreaterThan größer ist als der zugrundeliegende Wert von 10.

Ein komplexeres Beispiel ist dieses hier:

TypoScript
  1. .value=10
  2. .isGreaterThan=11
  3. .isTrue.field=header
  4. .negate=1

Hier gibt es zwei Bedingungen: isGreaterThan und isTrue. Wenn beide wahr sind, ist das Gesamtergebnis auch wahr, ABER (!) die Rückgabe der Funktion ist falsch, da die .negate-Eigenschaft das Ergebnis umkehrt.

Beispiel

Hierbei handelt es sich um ein GIFBUILDER-Objekt, welches NEU! auf einem Menüelement ausgibt, wenn das Feld newUntil einen Wert hat, der geringer ist als das aktuelle Datum.

TypoScript
  1. ...
  2. 30 = TEXT
  3. 30.value = NEU!
  4. 30.offset = 10,10
  5. 30.if {
  6. value.data = date: U
  7. isLessThan.field = newUtil
  8. negate = 1
  9. }
  10. ...