Zum Inhalt springen

Typoscript: IF/ELSE Bedingung nach Datenbankabfrage

Erstellt am 2. Juli 2015 · 2 Antworten · letzte Antwort am 2. Juli 2015

Tags: TYPO3 6.x, Frage

Phigiro ·

Hallo zusammen,

ich habe eine kurze (Anfänger)-Frage zu dem scheinbar nicht ganz einfachen Thema IF/ELSE Conditions in Typoscript.

Und zwar, nach einer Datenbankabfrage habe ich ein Feld "Type" welches drei Zahlenwerte beinhalten kann "0,1,2".

Die Ausgabe bisher sieht so aus:

10 = TEXT
10 {
field = type
stdWrap.wrap = <span class="type_0_style">|</span>
}

So bekomme ich den Wert von "Type" in den Span-Tag, ich möchte aber je nach Type-Wert einen Span-Tag erzeugen, der Wert von Type soll nicht in den Span-Tag, dort werde ich etwas fest hinterlegen.

Also in PHP würde ich es ganz einfach so machen:

if($type = 0)
{
echo "<span class="type_0_style">Admin</span>";
}
elseif($type = 1)
{
echo "<span class="type_1_style">Redakteur</span>";
}
elseif($type = 2)
{
echo "<span class="type_2_style">Benutzer</span>";
}

Warum ist das soooooo kompliziert in Typoscript? Kann mir da bitte jemand helfen?

DANKE! :-)

toifel · · Beste Antwort

Ist eigentlich gar nich so kompliziert, wenn du in PHP mit "switch" anstatt "if" arbeitest. Dann lässt sich das nämlich mit der selben Logik im CASE cObject umsetzen... in etwa so:

10 = CASE
10 {
  key.field = type

  default = TEXT
  default.value = <span class="type_0_style">Admin</span>

  1 = TEXT
  1.value = <span class="type_1_style">Redakteur</span>

  2 = TEXT
  2.value = <span class="type_2_style">Benutzer</span>
}