Themen
 
Individuelles Webdesign
 
14.07.2007 13:50

CSS-Gestylte Tabellen in Typo3

Kategorie: Typo3, Tutorial
Von: Andreas Prucha
Wer mal den RTE per Page-TS soweit konfiguriert hat, dass er selbst definierte Klassen annimmt, braucht trotzdem noch ein paar Einstellungen im Template.

Ein Fallstrick bei Typo3 kann sein, dass Typo3 versucht vom Redakteur eingegebenen oder genierten HTML-Code bei der Ausgabe zu säubern. Eigentlich ziemlich erfreulich, nur leider führt die Säuberungsaktion nicht immer zum gewünschten Ergebnis.

Weg mit class="bodytext"

Standardmässig weist Typo3 allen Absätzen die CSS-Klasse bodytext zu.  Das kann mit einer Zeile im Template-Setup leicht unterdrückt werden:

Template-Setup:# Ein P bleibt ein P und wird nicht zum P class="bodytext"
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class >

Diese Zeile verhindert, dass bei Paragraph-Tags automatisch ein class=bodytext angehängt wird.

Im Editor angegebene Klasse bei Tabellen beibehalten

Standardmässig weist Typo3 einer Tabelle die Klasse contenttable zu, auch wenn im RTE der Tabelle eine andere Klasse zugewiesen wurde.

Mit folgenden Zeilen im Template-Setup lässt sich das verhindern:

Template-Setup:#
# Wenn einer Table im Editor eine Klasse zugewiesen wurde diese beibehalten
#

lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list >

Keine P's in Tabellenzellen generieren

Per default generiert Typo3 p-Tags um den Inhalt von im RTE eingegebenen Tabellen-Zellen. Mit   lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default > im Template-Setup lässt sich verhindern, dass Typo3 Table-Zellen durch den Parser schickt und aufgrund der fehlenden Umschliessung mit P-Tags diese hinein generiert.

Da wirft allerdings das Problem auf, dass dann beispielsweie in einer Zelle eingegebene Links nicht mehr umgesetzt werden.

Dieses Problem lässt sich umgehen, indem man Typo3 anweist die Einstellungen von lib.ParseFunc zu übernehmen. Dadurch werden die Tags in Tabellen-Zellen geparst, ohne dass zuätzliche P-Tags generiert werden.

Template-Setup:# keine P in TD generieren aber trotzdem Inhalt parsen

lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default >
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc =< lib.parseFunc 

 

 



Kommentare


Kommentar schreiben...


Anzeige: 1 - 5 von 5.
 
Thursday, 29. 04 10 10:22
Thomas Schlegel
aus Bern thomas.schlegel@meteotest.ch   

Das mit den Tabellenzellen wirft auch das Rendering von Clickenlarge Bildern weg und das kommt aus der lib.parseFunc nicht wieder zurück. Da musst Du dann lib.parseFunc_RTE verwenden.

 
Wednesday, 11. 03 09 19:10
Markus
msg-motion@gmx.de   

SUPER!!! Danke für die spitzen Tipps...

 
Sunday, 08. 02 09 12:44
Chris

Vielen Dank für den Tipp!

 
Sunday, 21. 12 08 19:37
Sebastian
sg@projekt-2.net   

Danke, danke, danke.
Ohne solche Perlen im Netz hätte ich t3 schon zum Fenster rausgeschmissen, mitsamt dem Rechner!

 
Wednesday, 14. 05 08 19:53
Christian
christian@wareworte.de   

Da sage ich doch mal GANZ herzlichen Dank! Nach zwei Stunden Recherche: Die sauberste Lösung ohne ellenlangen Text für das Parsing. Große Freude!

 
 

Kommentar schreiben