If Bedingungen mit UND und ODER Operator...

Submitting your vote...
Rating: 3.2 of 5. 17 vote(s).
Click the rating bar to rate this item.

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.



Comments


dos, 12-03-09 13:52:
Coole Sache!

Habe eben nach so einem workaround gesucht, funktioniert perfekt!

Danke!
T, 05-04-09 17:06:
DANKE !!!!!!!
Hat mir sehr geholfen!
Tobias, 06-05-10 16:59:
Hier ein anderes Beispiel,

das ich dank Till's hilfe schnell erstellen konnte!

Folgendes hab ich in meinen content Bereich meines Templavoila Templates reingeschrieben (Typoscript-Code), um zu prüfen ob der User in der korrekten Gruppe ist und der übergabe-parameter vorhanden ist. Falls dies zutrifft, wird die rechte spalte (also dieser Content Bereich nicht angezeigt). Das Beispiel beinhaltet auch noch das kb_kbtvcontslide plugin um Inhalte von übergeordneten Seiten zu lesen.

10 = RECORDS
10.source.postUserFunc = tx_kbtvcontslide_pi1->main
10.source.postUserFunc.overridePage = 0
10.source.postUserFunc.collect = 4
10.source.postUserFunc.reverse = 1
10.source.postUserFunc.field = content_right
# 10.source.current=1
# 10.dontCheckPid = 1
10.tables = tt_content
10.source.if {
value.data = TSFE:fe_user|user|usergroup
equals = 31
isTrue = 1
isTrue.if {
value.data = GPvar:mag|vm
equals = full
negate = 1
}
}

Grüße Tobi
Sven, 14-06-11 15:34:
Dein Beispiel 1 (also Bedingung 1 ODER Bedingung 2 = true) ist meiner Meinung nach nicht richtig:
Dein TypoScript Code liefert nur in einem Fall "false" zurück, und zwar wenn "isLessThan" und "isFalse" jeweils "true" sind. Wenn "isLessThan" allerdings "true" ist, sollte die Bedingung doch zutreffen!

Ein funktionierendes Beispiel für eine ODER-Verknüpfung habe ich leider nicht.

Add comment

* - required field

*



*
*

Top 10 Updates

Login geändert am  09-Sep-2010 11:31:35
Schöne Schriften mit Google Font API geändert am  20-May-2010 16:36:59
TS basierte Searchbox für Indexed Search geändert am  18-May-2010 18:26:54
TYPO3 SEO geändert am  30-Apr-2010 09:43:20
Suchmaschinenfreundliche grafische Überschriften in TYPO3 geändert am  30-Apr-2010 09:33:56
Erstellen eines einfachen Infocenters mit TYPO3  geändert am  17-Nov-2009 12:11:22
Funktionierendes Section Menu mit TemplaVoila geändert am  05-May-2009 12:42:40
"Nicht im Menü" in Sitemap anzeigen geändert am  05-May-2009 12:12:24
Implementation des DHTML Menüs von brainjar.com  geändert am  01-Feb-2009 14:01:36
Beispiel DHTML Menü geändert am  01-Feb-2009 13:47:38

Latest comments

18-Jan-2012 11:03:20
cjjgeb cjjgeb schrieb: qUWC8M <a href="http://yviwfgyvopxz.com/">yviwfgyvopxz</a>
Typolink
18-Jan-2012 05:39:25
Melia Melia schrieb: Stands back from the kybeoard in amazement! Thanks!
Typolink
02-Jan-2012 22:48:33
Dietmar schrieb: Doch, genau das soll es doch sein. Sonst könntest Du ja die Seiten in der Vorschau nicht...
Eigenes vhost für das TYPO3 Backend
English
Suche: