Über Conditions im Fluid-Template andere Klassen fürs CSS vergeben

Ziel soll sein, dass über das Feld Template im Inhaltselement der Wert des Attributes "class" im HTML geändert wird. Georg Ringer hat z. B. dazu auch eine Anleitung bei News, das wird aber sehr verschachtelt. Es geht mit der inline-Notation auch in einer Zeile.

Hier am Beispiel von News, weil ich es da gerade gebraucht habe. Geändert wird ext/news/Resources/Private/Templates/News/List.html. Der Schnippsel lautet

{f:if(condition: '{settings.templateLayout} == 1', then: ' neue-class')}und wird für jedes Template eingefügt.

<div class="news-list-container{f:if(condition: '{settings.templateLayout} == 1', then: ' neue-class')}{f:if(condition: '{settings.templateLayout} == 2', then: ' andere-class')}" id="news-container-{contentObjectData.uid}">

Die Leerzeichen sind wichtig. Wird kein Template ausgewählt, wird nur die Standardklasse ausgegeben.

Die Templates müssen im PageTS deklariert werden:

tx_news.templateLayouts {
  1 = Ein Template
  2 = Anderes Template
  # falls es mehrsprachig sein soll:
  # 99 = LLL:fileadmin/somelocallang/locallang.xlf:someTranslation
}

Und das war's auch schon. Hier noch ein paar Schnippsel für Inline-Conditions.