Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:functions:if

if

Mit if ist es möglich, eine oder mehrere Bedingungen zu definieren, bevor das Ergebnis eines cObjects ausgegeben wird. Bei Erfüllung aller Kriterien wird true zurückgegeben. Wenn nur eine Bedingung nicht erfüllt wird, führt dies mit der Meldung false zum Abbruch.

Eigenschaften

EigenschaftDatentypBeschreibung
isNullstdWrapBedingung ist erfüllt, wenn der abgefragte Wert der PHP-Wert NULL ist. Da dieser Wert nicht in TypoScript gesetzt werden kann (NULL würde als String angesehen), sind nur die stdWrap-Funktionen verfügbar.
10 = TEXT
10.value = Das Feld 'media' ist leer.
10.if.isNull.data = field:media
isTruestring /stdWrapBedingung ist erfüllt, wenn der abgefragte Wert nicht leer oder 0 ist.
10 = TEXT
10.value = Es existiert eine Datei im Feld 'media'.
10.if.isTrue.data = field:media
isFalsestring /stdWrapBedingung ist erfüllt, wenn der abgefragte Wert leer oder 0 ist.
10 = TEXT
10.value = Das Feld 'media' ist leer.
10.if.isFalse.data = field:media
isPositiveinteger / stdWrap +calcBedingung ist erfüllt, wenn der abgefragte Wert eine Zahl ≥ 1 ist.
10 = TEXT
10.value = Der Wert ist positiv.
10.if.isPositive = -5 + 6
isGreaterThanvalue / stdWrapBedingung ist erfüllt, wenn der abgefragte Wert höher ist als der Wert unter if.value.
10 = TEXT
10.value = Die Seiten-ID ist größer als 4.
10.if.isGreaterThan.data = GP:id
10.if.value = 4
isLessThanvalue / stdWrapBedingung ist erfüllt, wenn der abgefragte Wert niedriger ist als der Wert unter if.value.
10 = TEXT
10.value = Die Seiten-ID ist kleiner als 4.
10.if.isLessThan.data = GP:id
10.if.value = 4
equalsvalue / stdWrapBedingung ist erfüllt, wenn der abgefragte Wert mit dem Wert unter if.value übereinstimmt.
10 = TEXT
10.value = Die aktuelle Seite heißt 'Impressum'.
10.if.equals.field = title
10.if.value = Impressum
isInListvalue / stdWrapBedingung ist erfüllt, wenn der abgefragte Wert in der kommaseparierten Liste unter if.value enthalten ist.
10 = TEXT
10.value = Der Untertitel lautet 'Hund', 'Katze' oder 'Maus'.
10.if.isInList.data = field:subtitle
10.if.value = Hund,Katze,Maus
valuevalue / stdWrapDer hier angegebene Wert dient zum Vergleich mit den Daten, die mit isGreaterThan, isLessThan, equals oder isInList abgefragt wurden.
negatebooleanWenn aktiviert, wird das Ergebnis der Abfrage ins Gegenteil verkehrt.
if.negate = 1 bewirkt:
if.isTrue → false
if.isFalse → true
if.isPositive0 oder negativ
if.isGreaterThan → kleiner oder gleich
if.isLessThan → größer oder gleich
if.equals → ungleich
if.isInList → nicht enthalten
Bei mehreren Bedingungen gilt das Gesamtergebnis dieser Abfragen, also true oder false.
directReturnbooleanIst diese Eigenschaft vorhanden (egal welcher Wert), haben alle anderen Eigenschaften von if keine Wirksamkeit! Die Ausgabe wird nur noch durch den folgenden Wert bestimmt.
Mit dieser Eigenschaft kann man zum einen die Ausgabe simulieren; zum anderen könnte der Wert mithilfe einer Konstante gesetzt werden.

Beispiele

Verknüpfung mehrerer Bedingungen

Der Wert true wird zurückgegeben, wenn alle Bedingungen erfüllt sind. Die Eigenschaft if.value kann nur einmal definiert werden und gilt somit für alle vergleichenden if-Eigenschaften.

10 = TEXT
10 {
  value = Ausgabetext
  if.isPositive = 1+3
  if.equals = foo
  if.value = foo
}
 
# Beide Vergleiche beziehen sich auf 'if.value':
20 = TEXT
20 {
  value = Ausgabetext
  if.isGreaterThan = 5
  if.equals = 2
  if.value = 2
}

Verknüpfung mehrerer Bedingungen und Umkehrung

Bei der Anwendung von negate mit mehreren Abfragen ist zu beachten, dass sich die Umkehrung auf das Gesamtergebnis der Bedingungen bezieht.

10 = TEXT
10 {
  value = Ausgabetext
  if.isPositive = 1
  if.equals = foo
  if.value = bar
  if.negate = 1
}
typo3/about/functions/if.txt · Zuletzt geändert: 2015/12/03 19:32 (Externe Bearbeitung)