Fallunterscheidungen from hell

Es gibt viele Weg, um mittels TypoScript an Daten zu kommen. Der getText-Datentyp ist dabei eine geniale Werkzeugkiste. Und eine Reihe von Fallunterscheidungen anhand eines einheitlichen Kriteriums/Keys rufen regelrecht nach einem CASE-cObject.

Ein Beispiel, wie man Fallunterscheidungen mit TypoScript NICHT umsetzt, will ich kurz teilen, und erklären, warum man das so nicht machen will.

Conditions sind immernoch böse!

Dass Conditions böse sind, hatten wir bereits in Language-Handling from hell behandelt. Daran hat sich nichts geändert. Daher noch einmal:

Vor dem Ausliefern von Daten aus dem Cache, werden die gespeicherten Conditions aus dem TypoScript erneut evaluiert. Nur bei selbem Zustand der Condition Evaluierungen wird die Seite aus dem Cache geliefert.

TypoScript ist in der Regel für die gesamte Website eingebunden, d.h. für jede Einzelseite dasselbe. Das heißt, dass beim Aufruf jeder Seite jeder Condition noch einmal geprüft wird, bevor irgendetwas aus dem Cache geholt wird. Jede Condition, bei jedem Aufruf!

Wer sich damit näher beschäftigen möchte: mit „TypoScript Performance Condition“ landet man schnell bei guten Treffern.

Lösung mittels CASE

Eine Fallunterscheidung ohne Conditions ist mit dem CASE-cObject möglich:

page {
  10 = CASE
  10 {
    stdWrap.noTrimWrap = |Hallo |!|

    key.data = TSFE:fe_user|user|uid
    1 = TEXT
    1.value = Anton
    2 = TEXT
    2.value = Bernd
    4 = TEXT
    4.value = Dieter
    13 = TEXT
    13.value = Michael
    14 = TEXT
    14.value = Norbert
  }
}

Links

Hinterlasse einen Kommentar.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.