Zum Inhalt springen

if mit mehreren Oders

Erstellt am 21. April 2009 · 2 Antworten · letzte Antwort am 22. April 2009

Tags: Frage

Morgenthau ·

Hallo,

ich möchte, das eine per TS eingebundene Überschrift nur angezeigt wird, wenn mindestens 1 von 4 Feldern gefüllt ist.

Also: Zeigt die Überschrift, wenn Feld 1 gesetzt oder Feld 2 gesetzt oder Feld 3 gesetzt oder Feld 4 gesetzt ist. Es handelt sich dabei nicht um ausschließende Oders, sondern um Und-Oders.

Wenn ich mein Seminar zur formalen Logik noch richtig in Erinnerung habe, formalisiert man ein solches Oder so:

NICHT (NICHT Bedingung 1 UND NICHT Bedingung 2)

Sollte also per TS machbar sein, ich krieg's aber nicht hin.

Schon ein einfaches Oder will nicht klappen. Mit meinem Versuch wird der Text immer angezeigt, auch wenn die Felder leer sind:

1 = TEXT
1.value = Links:
1.wrap = <h2>|</h2>
1.if {
 isFalse.field = feld1
 value=0
 equals.field = feld2
 negate=1
}

Der Gedanke war: Beide Bedingungen falsch sein zu lassen, wenn eines der Felder gefüllt ist, und dann zu negieren. Aber das mit dem equals klappt nicht.

Wie könnte es gehen? Vor allem mit zwei weiteren Abfragen?

Viele Grüße,
Morgenthau

Julian.​Hofmann ·

Hallo.

Die if-Bedingungen sind in TS wirklich eine Welt (und Logik) für sich... 🙁

Für Deinen Fall sollte es funktionieren, wenn Du in einem Objekt die vier Felder zusammenführst und dann erst einen Vergleich anstellst. isFalse hat stdWrap-Eigenschaften, d.h. Du kannst innerhalb des Vergleich ein cObject erzeugen, dass die Felder 1-4 zusammenfügt.

1 = TEXT
1.value = Links:
1.wrap = <h2>|</h2>
1.if {
  isTrue.cObject = COA
  isTrue.cObject {
    10 = TEXT
    10.field = Feld1
    20 = TEXT
    20.field = Feld2
    # ...
  }
}

Viele Grüße
Julian