|
Verfasst am: 18. 07. 2009 [16:08]
|
|
michael
Michael Hoffmann
Dabei seit: 08.06.2008
Beiträge: 37
|
Häufig wechselt man auf einer Typo3 Seite von einem zweispaltigen Layout auf ein dreispaltiges Layout. Für dieses Möglichkeit benötigt man entweder unterschiedliche Templates oder man formatiert die Spalten mit TypoScript in Abhängigkeit ob Content für die Spalte rechts vorhanden ist.
Für letzeres ist das folgende TypoScript die Lösung:
temp.content = COA
temp.content {
10 = COA
10.stdWrap {
wrap = <div id="content-3col">|</div>
if.isTrue.numRows < styles.content.getRight
stdWrap.outerWrap.cObject = COA
stdWrap.outerWrap.cObject.10 < styles.content.get
stdWrap.outerWrap.cObject.10.wrap = <div id="content-center">|</div>
stdWrap.outerWrap.cObject.20 < styles.content.getRight
stdWrap.outerWrap.cObject.20.wrap = <div id="content-right">|</div>
}
20 = COA
20.stdWrap {
wrap = <div id ="content-2col">| </div>
if.isFalse.numRows < styles.content.getRight
stdWrap.outerWrap.cObject = COA
stdWrap.outerWrap.cObject.10 < styles.content.get
stdWrap.outerWrap.cObject.10.wrap = <div id="content-center">|</div>
}
}
In Abhängigkeit ob in der Spalte rechts Inhalte vorhanden sind, wird der Contentbereich unterschiedlich 'gewrappt'. Im ersten Fall mit <div id="content-3col"></div> im letzteren Fall mit <div id="content-2col"></div>
Die Spalte 'Normal' kann dann individuell mit CSS gestalten werden. Bsp.:
div#content-3col div.content-center {
witdh: 550px;
}
div#content-2col div.content-center {
width: 800px;
}
Im ersten Fall wird die Spalte Normal mt einer Breite von 550px, im letzteren Fall mit einer Breite von 800px formatiert.
|