De:TSref/CASE
From TYPO3Wiki
TypoScript (Liste TypoScript)
CASE
Dieses Objekt bietet eine Funktion entsprechend dem switch-Konstrukt in PHP. Innerhalb von CASE können beliebige Objekte definiert werden. Das Objekt das so benannt ist, wie der Inhalt des Parameters "key" wird zurückgegeben. Wenn kein Objekt zutrifft, wird das default Objekt zurückgegeben. Die innerhalb von CASE definierten Objekte dürfen frei benannt werden, einzig die reservierten Wörter "key", "default", "stdWrap" und "if" können nicht verwendet werden.
| Eigenschaft | Datentyp | Kommentar | Standardwert |
| setCurrent | string /stdWrap | Setzt den Inhalt von "current". | |
| key | string /stdWrap | Wenn ein Objekt definiert wurde, dass genau so lautet wie der Inhalt des Keys, dann wird das Objekt zurückgegeben, andernfalls das Default-Objekt.
key = helloWorld helloWorld = TEXT helloWorld.value = Dieses Element wird immer zurückgegeben, da der Key immer auf helloWorld steht. | |
| default | cObject | Das Default-Objekt, wenn es nicht definiert ist, wird im Default-Falle nichts zurückgegeben. | |
| Array... | cObject | Hier können beliebige Objekte definiert werden. Groß- und Kleinschreibung wird unterschieden. Nur die in CASE vorhandenen Eigenschaften können nicht als Objekte definiert werden. | |
| stdWrap | ->stdWrap | Bezieht sich auf das Zurückgegebene Objekt. | |
| if | ->if | Wenn "if" false zurückgibt, gibt CASE nichts zurück. |
[tsref:(cObject).CASE]
Beispiel: stuff = CASE stuff.key.field = layout # Das Objekt gibt den Inhalt nur zurück, wenn das Feld "header" nicht leer ist. stuff.if.isTrue.field = header # Wenn etwas zurückgegeben wird, wird ein BR angehängt. stuff.stdWrap.wrap = |<BR> stuff.default = TEXT stuff.default { .... } # Wenn im Feld "layout" eine 1 steht, dann wird dieser Fall verwendet, # sonst default stuff.1 = TEXT stuff.1 { .... }