Hallo Zusammen.
Ich habe ein Extension geschrieben, die tt_content um ein feld names tx_jrgrid_width erweitert, dass für die Darstellung in einem Grid auf der Seite verwendet wird. Sieht fast so aus wie eine Tabelle, nur dass man innerhalb einer Spalte Elemente mit unterschiedlicher Höhe vorkommen können.
Die Extension stellt ein Typoscript zur verfügung, dieses:
Typoscript-Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| temp.wrappedelement = CASE temp.wrappedelement { key.field = tx_jrgrid_width default < tt_content.text 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> } tt_content.text > tt_content.text < temp.wrappedelement grid = COA grid { 10 < styles.content.get 10.wrap = | <script language="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> } |
Über
grid gelange ich dann an die gewrappten Content-Elemente der mittleren Spalte. Das Javascript sorgt für die Anpassung der Höhe der Elemente entsprechend einer Konstanten
row_height.
Mein Problem ist jetzt das folgende: Ich möchte das wrapping der Content-elemente abhängig von einer Eigenschaft der Seite machen (
tx_jrgrid_width). Ist diese Eigenschaft
0, soll eine andere CSS-Klasse zum wrappen der Content-elemente verwendet werden. Ausserdem soll das Javascript nicht eingebaut werden. Allgemein soll halt das 'Grid-Layout' nicht verwendet werden...
Wie muss ich dafür mein Typoscript anpassen?
Vielen Dank schonmal
grande