Du kannst entweder deinen typoscript-ansatz nehmen und die Tabelle um titel
und bodytext herumwrappen, z.B. so:
# Get Header for titletext
temp.head-left = CONTENT
temp.head-left {
table = tt_content
select {
pidInList = this
where = colPos=1
}
renderObj = COA
renderObj.10 = TEXT
renderObj.10 {
field = header
wrap = <tr><td> | </td></tr>
}
renderObj.20 {
field = bodytext
wrap = <tr><td> | </td></tr>
}
stdWrap.wrap = <table> | </table>
}
Damit verlierst du aber jeglicher rendering-funktion von content(default),
also z.B. die verschiedenen headerlayouts, Bilder,.... also alles, was nicht
in den Feldern tt_content.header bzw. tt_content.bodytext steht, wird auch
nicht berücksichtigt.
Besser ist wahrscheinlich, wenn du die wraps direkt im
tt_content....-Bereich im Typoscript unterbringst, also:
tt_content.stdWrap.wrap = <table> | </table>
außen um das gesamte content-element.
Für den header gibt es eine Konstante:
content.wrap.header = <tr><td> | </td></tr>
Schwieriger wird's mit dem Restcontent. Hier musst du für jeden content-typ
den
richtigen wrap finden.
Dazu schaust du im Objectbrowser nach, was für cObjects die einzelnen Typen
sind und dann in der TSREF, wie du diese wrappen kannst. z.B.:
tt_content.bullets.20 = CASE, in der TsRef siehst, dass CASE eine property
stdWrap hat, der wrap ist also:
tt_content.bullets.20.stdWrap.wrap = <tr><td> | </td></tr>
Der nächste Typ ist Table. Auch Case, also:
tt_content.table.20.stdWrap.wrap = <tr><td> | </td></tr>
text = TEXT, d.h.:
tt_content.text.20.wrap = <tr><td> | </td></tr>
Durch Imagewrap musst dich selber wühlen, wenn du's brauchst, das is mir
jetzt zu kompliziert ;-)
*nix getestet*
the-dude 8-)