| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung |
| typo3:about:functions:if [2014/04/01 21:43] – [Eigenschaften] admin | typo3:about:functions:if [2015/12/03 19:32] (aktuell) – Externe Bearbeitung 127.0.0.1 |
|---|
| ====== 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. | 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 ===== | ===== Eigenschaften ===== |
| </code>| | </code>| |
| ^value|value / stdWrap|Der hier angegebene Wert dient zum Vergleich mit den Daten, die mit ''isGreaterThan'', ''isLessThan'', ''equals'' oder ''isInList'' abgefragt wurden.| | ^value|value / stdWrap|Der hier angegebene Wert dient zum Vergleich mit den Daten, die mit ''isGreaterThan'', ''isLessThan'', ''equals'' oder ''isInList'' abgefragt wurden.| |
| ^negate|boolean|Wenn aktiviert, wird das Ergebnis der Abfrage ins Gegenteil verkehrt.\\ __**if.negate = 1** bewirkt:__\\ ''if.isTrue'' -> false\\ ''if.isFalse'' -> true\\ ''if.isPositive'' -> ''0'' oder negativ\\ ''if.isGreaterThan'' -> kleiner oder gleich\\ ''if.isLessThan'' -> größer oder gleich\\ ''if.equals'' -> ungleich\\ ''if.isInList'' -> nicht enthalten| | ^negate|boolean|Wenn aktiviert, wird das Ergebnis der Abfrage ins Gegenteil verkehrt.\\ __**if.negate = 1** bewirkt:__\\ ''if.isTrue'' -> false\\ ''if.isFalse'' -> true\\ ''if.isPositive'' -> ''0'' 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//.| |
| ^directReturn|boolean|Ist 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.| | ^directReturn|boolean|Ist 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.| |
| |
| Es können mehrere Bedingungen miteinander verknüpft werden. Nur wenn alle Bedingungen erfüllt sind, wird | ===== 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. |
| <code typoscript> | <code typoscript> |
| | 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 |
| | } |
| </code> | </code> |
| |
| | ==== 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. |
| | |
| | <code typoscript> |
| | 10 = TEXT |
| | 10 { |
| | value = Ausgabetext |
| | if.isPositive = 1 |
| | if.equals = foo |
| | if.value = bar |
| | if.negate = 1 |
| | } |
| | </code> |