


Ich habe eine ganze Weile gebraucht und auch ziemlich geflucht da die if conditions in Typoscript ziemlich undurchsichtig sind.
Nachdem ich jetzt endlich durchgestiegen bin, moechte ich hier ein kleines Tutorial schreiben, wie man beliebig viele UND, ODER und Kombinationen dieser Operatoren mit Typoscript realisiert.
Zunaechst die Oder verknuepfung in Beispiel 1
negate wirkt erst nach der Auswertung von bed1 und bed2 mit anschliessender UND Verknuepfung. Dadurch wird if nur dann false, wenn bed1 und bed2 false sind.
Ich weiss, das ist durchs knie ins Auge, aber wie gesagt, ich habe ziemlich geflucht, bis ich das gerafft hatte...
Jetzt die Verkettung mehrerer Bedingungen in Beispiel 2:
Die IsTrue und IsFalse Anweisungen (und eineige andere sie TSref) koennen wieder stWrap enthalten. d.h. man kan innerhalb einer isTrue Anweisung wieder ein if setzen und so beliebige Kombinationen an Operatoren verwirklichen (Wenn man hinterher noch den Knoten aus dem Hirn bekommt ;-)
Ich glaube, so kann man wirklich alle operatorkombinationen realisieren...
# beispiel 1 #durch negate kann man meherere Bedingungen mit ODER verknuepfen: # zeige das cObjekt an (if = true) , wenn bedingung1 oder bedingung2: if { value=1 isLessThan = bedingung1 isFalse = bedingung2 negate = 1 } #Beispiel 2 #Benutze verschachtelte if anweisungen: # bed1 UND NICHT (bed2 UND bed3) if { isTrue = bed1 #sorgt dafuer das isFalse zunaechst immer false zurueck gibt. isFalse = 1 # wenn diese if bedingung erfuellt ist, wird die 1 aus isFalse geloescht und isFalse gibt true zurueck. isFalse.if { value = 1 isLessThan = bed2 isFalse = bed3 } } # bed1 UND (bed2 ODER bed3) if { isTrue = bed1 isPositive = 1 #benutze Beispiel 1 fuer die ODER verknuepfung isPositive.if { value=1 isLessThan = bed2 isFalse = bed3 negate = 1 } }
Dieses Snippet wurde von Till eingesendet.


Kommentare (0)