Auch ohne für die Seiten ein extra Template anlegen zu müssen, kann man die Seiten unterschiedlich formatieren, in dem man dem Body die entsprechende ID gibt. Ist man z.B. auf der Seite mit der ID 2, so kann man im CSS alle Elemente über
#body_2 ...
definieren. Jetzt brauchen wir nur noch den entsprechenden Body-Tag. Den können wir wie folgt aufbauen:
CSS abhängig von der aktuellen Seite
TypoScript
temp.body = TEXT temp.body.field = uid temp.body.wrap = body id=body_| page.bodyTagCObject < temp.body

Impressum
Mollio

1
Seite 1 von 1
Und so fügt man verschieden CSS für verschieden "Layouts" ein (Seiteneigenschaftselement "Layout"):
page = PAGE
#thrColFix ist fuer 3-Spaltlayout - oneColElsCtr ist fuer 1-Spaltlayout
page.bodyTag = <body class="thrColFix">
#WENN ES DAS LAYOUT STARTSEITE O D E R POP IST, DANN MACHE FOLGENDES...
[globalVar = TSFE:page|layout = 2]||[globalVar = TSFE:page|layout = 3]
page.bodyTag = <body class="oneColElsCtr" "background-color:white;padding:20px;">
[global]
...und so kann man das Ganze noch eleganter lösen, da man keine class mehr für den bodyTag benötigt:
Einfach folgedes ins Setup-Field setzten und die IDs der Hauptkategoerien angeben. Die Unterkategorien bekommen autom. die ID vom parent:
// CSS Switcher
[PIDinRootline = 1]
page.bodyTag = <body id="wir">
[PIDinRootline = 2]
page.bodyTag = <body id="veranstaltungen">
Und so kann man allen (direkten) Unterseiten einer Seite eine spezifische class geben:
temp.body.field = alias//uid
temp.body.dataWrap = <body id="page_|" class="parent_{field:pid}" >