Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:functions:if

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
typo3:about:functions:if [2014/03/12 21:27] – [Eigenschaften] admintypo3:about:functions:if [2015/12/03 19:32] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 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 =====
  
 ^Eigenschaft^Datentyp^Beschreibung^ ^Eigenschaft^Datentyp^Beschreibung^
-^isNull|stdWrap| |+^isNull|stdWrap|Bedingung 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. <code typoscript> 
 +10 = TEXT 
 +10.value = Das Feld 'media' ist leer. 
 +10.if.isNull.data = field:media 
 +</code>|
 ^isTrue|string /stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert nicht leer oder ''0'' ist. <code typoscript>  ^isTrue|string /stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert nicht leer oder ''0'' ist. <code typoscript> 
 10 = TEXT 10 = TEXT
Zeile 17: Zeile 21:
 10.if.isFalse.data = field:media 10.if.isFalse.data = field:media
 </code>| </code>|
-^isPositive|integer / stdWrap +calc| | +^isPositive|integer / stdWrap +calc|Bedingung ist erfüllt, wenn der abgefragte Wert eine Zahl ≥ 1 ist.<code typoscript>  
-^isGreaterThan|value / stdWrap| | +10 = TEXT 
-^isLessThan|value / stdWrap| | +10.value = Der Wert ist positiv. 
-^equals|value / stdWrap| | +10.if.isPositive = -5 + 6 
-^isInList|value / stdWrap| | +</code> 
-^value|value / stdWrap| | +^isGreaterThan|value / stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert höher ist als der Wert unter ''if.value''. <code typoscript> 
-^negate|boolean| | +10 = TEXT 
-^directReturn|boolean| |+10.value = Die Seiten-ID ist größer als 4. 
 +10.if.isGreaterThan.data = GP:id 
 +10.if.value = 4 
 +</code>
 +^isLessThan|value / stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert niedriger ist als der Wert unter ''if.value''. <code typoscript> 
 +10 = TEXT 
 +10.value = Die Seiten-ID ist kleiner als 4. 
 +10.if.isLessThan.data = GP:id 
 +10.if.value = 4 
 +</code>
 +^equals|value / stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert mit dem Wert unter ''if.value'' übereinstimmt. <code typoscript> 
 +10 = TEXT 
 +10.value = Die aktuelle Seite heißt 'Impressum'
 +10.if.equals.field = title 
 +10.if.value = Impressum 
 +</code>
 +^isInList|value / stdWrap|Bedingung ist erfüllt, wenn der abgefragte Wert in der kommaseparierten Liste unter ''if.value'' enthalten ist. <code typoscript> 
 +10 = TEXT 
 +10.value = Der Untertitel lautet 'Hund', 'Katze' oder 'Maus'
 +10.if.isInList.data = field:subtitle 
 +10.if.value = Hund,Katze,Maus 
 +</code>
 +^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\\ 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.|
  
 +===== 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>
 +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>
 +
 +==== 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>
typo3/about/functions/if.1394656037.txt.gz · Zuletzt geändert: (Externe Bearbeitung)