Hallo,
ich möchte, wenn die Spalte RIGHT belegt ist, aus meinem einspaltigen Layout ein zweispaltiges wird. Eigentlich funktioniert das auch bis auf den Inhalt von NORMAL, der wird nicht mehr angezeigt.
[...]
## Inhalt in Spalte NORMAL
tmp.inhalt < styles.content.get
## Wenn RECHTS etwas angegebe wird, zweispaltig machen
tmp.rechts < styles.content.getRight
tmp.rechts.stdWrap.required = 1
tmp.rechts.stdWrap.innerWrap = <div id="c_right">|</div>
## Jetzt den linken Inhalt wenn beide belegt sind davor setzen
tmp.rechts.stdWrap.postCObject < styles.content.get
tmp.rechts.stdWrap.postCObject.wrap = <div id="c_left">BLABLA|BLABLA</div><div class="nofloat"></div>
tmp.inhalt.stdWrap.override.cObject < tmp.rechts
[...]
Das ist mal der wichtige Teil. Ich sehe den Inhalt von RIGHT und ich sehe links daneben das BLABLABLABLA. Dazwischen sollten jetzt doch eigentlich die Inhaltselemente von NORMAL stehen, oder habe ich was übersehen?
Sieht jemand meinen Fehler?
Grüße
Caipi
Hmmmm,
also die Fallunterscheidung geht ja bei mir nur die Ausgabe von style.content.get nicht.
Habe jetzt mal folgendes versucht:
[...]
if.isTrue.numRows < styles.content.getRight
tmp.inhalt < styles.content.getRight
tmp.inhalt.wrap = <div id="c_right">|</div>
tmp.inhalt.stdWrap.postCObject < styles.content.get
tmp.inhalt.stdWrap.postCObject.wrap = <div id="c_left">-->|<--</div><div class="nofloat"></div>
if.isFalse.numRows < styles.content.getRight
tmp.inhalt < styles.content.get
[...]
Aber jetzt kommt nur noch NORMAL
Probiers doch mal mit dem COA anstatt dem postCObject.
Wie meinst? ich muss zugeben TypoScriptmäßig noch net der Checker zu sein. Hatte es am Anfang wie es unter dem Link von fuss beschrieben ist, doch dann wir mir auf jeder Seite der gleiche zweispaltige Inhalt angezeigt.
Habe es jetzt hinbekommen:
[...]
NORMAL < styles.content.get
RECHTS < styles.content.getRight
RECHTS.stdWrap.required = 1
RECHTS.stdWrap.wrap = <div id="c_right">|</div>
NORMAL.stdWrap{
wrap = |
innerWrap = |
innerWrap.override = <div id="c_left">|</div><div class="nofloat"></div>
innerWrap.override.if.isTrue.cObject < styles.content.getRight
}
tmp.inhalt < NORMAL
tmp.inhalt.stdWrap.preCObject < RECHTS
[...]
Danach dann tmp.inhalt an die stelle im Layout bringen an die sie soll.
Das CSS zu c_right und c_left sieht so aus:
div#c_left {
width: 400px;
}
div#c_right {
width: 300px;
float: right;
text-align: right;
}
Grüße
Caipi