Hallo Zusammen.
Ich habe eine Extension geschrieben, die die Tabellen tt_content und pages um jeweils ein Attribut (tx_jrgrid_width bzw. tx_jrgrid_usegrid) erweitert. Die neue Eigenschaft von tt_content wird verwendet, um dem Content-element eine festgelegte Breite zu geben. Auf der Seite wird dann ein Grid-Layout dargestellt, in dem mittels javascript die CE's ihre richtige Höhe bekommen. Dies geschieht mit einem statischen Typoscript.
Das wrapping und das javascript funtionieren (eigentlich) wunderbar. Nur soll man jetzt das Grid ein- bzw. ausschalten können. D.h. es gibt eine Eigenschaft der Seite, die das wrapping der CE's steuert.
Ich kriege es allerdings nicht hin, dass es läuft 🙁. Habe schon mit diversen if's und CASE-Abfragen probiert. Bin jetzt auf den LOAD_REGISTER gestossen... und hoffe auf eure Hilfe.
Bisher habe ich folgendes:
checkgrid = CASE
checkgrid {
key.field = tx_jrgrid_usegrid
default.10 = LOAD_REGISTER
default.10.usegrid = 0
0.10 = LOAD_REGISTER
0.10.usegrid = 0
1.10 = LOAD_REGISTER
1.10.usegrid = 1
}
gridwrappedelement = CASE
gridwrappedelement {
key.field = tx_jrgrid_width
default < tt_content.text
if.isTrue.data = register:usegrid
0 < .default
0.wrap = <div class="{$contentelement_cssclass} width0">|</div>
1 < .default
1.wrap = <div class="{$contentelement_cssclass} width1">|</div>
2 < .default
2.wrap = <div class="{$contentelement_cssclass} width2">|</div>
3 < .default
3.wrap = <div class="{$contentelement_cssclass} width3">|</div>
}
# Überschreiben des wrap's
gridwrappedelement {
if.isFalse.data = register:usegrid
wrap = <div class="{$contentelement_cssclass}_nogrid">|</div>
}
tt_content.text >
tt_content.text < gridwrappedelement
grid = COA
grid {
10 < styles.content.get
10.wrap = | <script language="javascript" type="text/javascript">var allElements = document.getElementsByTagName('div'); for (var i=0; i<allElements.length; i++) { var curr = allElements[i]; if (/^{$contentelement_cssclass}/.test(curr.className)) { curr.style.height = ((Math.ceil(curr.offsetHeight / {$row_height}) * ({$row_height})) + ((Math.ceil(curr.offsetHeight / {$row_height}) - 1) * 8-) ) + "px"; } } </script>
}
Könnt ihr mir da weiterhelfen?
fnord