if
Diese Funktion liefert wahr zurück, wenn ALLE angegebenen Bedingungen erfüllt sind. Wenn eine einzige Bedingung falsch ist, wird als Wert auch falsch zurückgeliefert.
Der zurückgelieferte Wert kann durch die ».negate-Eigenschaft negiert werden.
Eigenschaft | Datentyp | Beschreibung | Standard |
str / stdWrap | Wenn der Inhalt "wahr" ist,... (kein leerer String und nicht null) | ||
str / stdWrap | Wenn der Inhalt "falsch" ist,... (leer oder null) | ||
int / stdWrap + calc | Liefert falsch zurück, wenn der Inhalt nicht positiv ist. | ||
value / stdWrap | Liefert falsch zurück, wenn der Inhalt nicht größer als ».value ist. | ||
value / stdWrap | Liefert falsch zurück, wenn der Inhalt nicht kleiner als ».value ist. | ||
value / stdWrap | Liefert falsch zurück, wenn der Inhalt nicht ».value gleicht. | ||
value / stdWrap | Liefert falsch zurück, wenn der Inhalt nicht in der kommaseparierten Liste ».value zu finden ist. Die Liste in ».value darf keine Leerzeichen zwischen den Elementen haben! | ||
value / stdWrap | Der "Wert" (Der oben erwähnte Vergleichswert) | ||
boolean | Dies negiert das Ergebnis der Funktion direkt vor der Rückgabe. Wenn die Funktion bis dahin also wahr zurückgeliefert hätte, liefert sie schließlich falsch zurück. | ||
boolean | Wenn diese Eigenschaft gesetzt ist, wird automatisch der Wahr/Falsch-Wert dieser Eigenschaft zurückgeliefert. Könnte benutzt werden, um wahr/falsch mit TypoScript-Konstanten zu setzen. |
Erläuterung
Die if-Funktion ist eine recht außergewöhnliche Methode, wahr oder falsch zurückzuliefern. Vorsicht beim Gebrauch.
if wird normalerweise benutzt, um zu entscheiden, ob ein Objekt gerendert oder ein Wert zurückgegeben werden soll (siehe die Inhaltsobjekte und »stdWrap)
So funktioniert diese Funktion:
Die Funktion liefert wahr oder falsch zurück. Ob sie nun wahr oder falsch zurückliefert, hängt von ihren Eigenschaften ab. Sagen wir also, Sie setzen isTrue=1, dann ist das Ergebnis wahr. Wenn Sie isTrue.field=header setzen, liefert die Funktion wahr zurück, wenn das Feld header in $cObj->data gesetzt ist.
Wenn Sie Werte vergleichen wollen, müssen Sie einen Ausgangswert in die ».value-Eigenschaft laden. Beispiel:
.isGreaterThan=11
Dies würde wahr zurückliefern, da der Wert von .isGreaterThan größer ist als der zugrundeliegende Wert von 10.
Ein komplexeres Beispiel ist dieses hier:
.isGreaterThan=11
.isTrue.field=header
.negate=1
Hier gibt es zwei Bedingungen: isGreaterThan und isTrue. Wenn beide wahr sind, ist das Gesamtergebnis auch wahr, ABER (!) die Rückgabe der Funktion ist falsch, da die ».negate-Eigenschaft das Ergebnis umkehrt.
Beispiel
Hierbei handelt es sich um ein GIFBUILDER-Objekt, welches NEU! auf einem Menüelement ausgibt, wenn das Feld newUntil einen Wert hat, der geringer ist als das aktuelle Datum.
- ...
- 30 = TEXT
- 30.value = NEU!
- 30.offset = 10,10
- 30.if {
- value.data = date: U
- isLessThan.field = newUtil
- negate = 1
- }
- ...
Kommentare von registrierten Benutzern:
Falls es jemanden mit ähnlichen Problemen interessiert, ich habs folgendermaßen gelöst:
Diese Zeile
Kommt in die linke Spalte der Seite, über das Menü, in einem neuen subpart.
Dannach im Typoscript entfernen.
| Typoscript: | Zeilennummerierung: An / Aus |
und dem subpart den content zuweisen
Hallo,
Ich habe auf meiner Seite 2 Menüs, ein horizontales und ein vertikales.
Das Vertikale beginnt bei entrylevel = 1,
was ja soweit kein Problem ist.
Mein Problem allerdings ist das diese Zeile
| Typoscript: | Zeilennummerierung: An / Aus |
- wrap = <ul id="subNav"><li class="subNavHeader">Header</li> | </ul>
auf jeder Seite angezeigt wird.
Kann ich das per "if" abstellen das er es mir nur bei entylevel = 1 anzeigt und nicht bei = 0,2,3,...?
Hier das vertikale Menü:
| Typoscript: | Zeilennummerierung: An / Aus |
es muss heissen:
Es ginge aber auch zum Beispiel:
oder:
--> Einfach mal bei der Syntax für TEXT nachschauen ;)
Nee Leute, das stimmt so nicht:
ist richtig, ausserdem muss es heissen:
newUntil statt newUtil
Im Beispiel steht:
30 = TEXT
30.text= NEU!
Muss es nicht so aussehen!?
30 = TEXT
30.value = NEU!







