CSS-Klasse für Tabellen im Rich-Text-Editor
HTMLArea ist seit Typo3 4.0 fest integriert und wird von den meisten Typo3-Anwendern genutzt, um redaktionelle Inhalte für Webseiten einzupflegen. Praktisch ist die Möglichkeit, CSS-Klassen für Text, Listen, Tabellen, etc fest zu definieren, damit der Redakteur nur bestimmte Formatierungen benutzen kann.
Für Absätze (Paragraph) oder Listen hat sich seit der Umstellung auf Typo3 in der Version 4 nicht viel geändert, aber für Tabellen, was den ein oder anderen Typo3-Anwender wahrscheinlich etliche Zeit und Nerven gekostet haben wird.
Folgendes Beispiel soll zeigen, wie einfach es doch eigentlich ist, CSS-Klassen für Tabellen und Zellen für den Rich-Text-Editor (HTMLArea) freizuschalten, damit der Redakteur die Klassen auswählen kann:
Es seien folgende Klassen in der CSS-Datei vorhanden:
table.tabelle {
border-collapse: collapse;
margin: auto;
}
table.tabelle td {
border: 1px dashed #C0C0C0;
text-align: center;
font-family: arial;
font-size: 10px;
padding: 2px;
}
td.zelleBlau {
background-color: #2d69a9;
color: white;
font-size: 12px;
}
Dann ist es möglich, diese Klassen im TSConfig freizuschalten:
...
RTE.default.classesCharacter = grueneSchrift, orangeSchrift, blaueSchrift
RTE.default.classesParagraph = typo3css, typo3tsetup, typo3tsconfig, linuxSource
RTE.default.classesTable = tabelle
RTE.default.classesTD = zelleBlau
....
RTE.default.proc {
...
allowedClasses = ...tabelle, zelleBlau, ...
}
Hier als Beispiel die ganze TSConfig:
mod.SHARED.colPos_list = 1,0,2
RTE.default.useCSS = 1
RTE.default.contentCSS = fileadmin/template/style.css
RTE.default.showButtons = blockstylelabel, blockstyle, textstylelabel, textstyle, formatblock, bold, italic, underline, strikethrough, subscript, superscript, left, center, right, justifyfull, orderedlist, unorderedlist, outdent, indent, textcolor, bgcolor, textindicator, emoticon, insertcharacter, line, link, image, table, user, acronym, findreplace, spellcheck, chMode, inserttag, removeformat, copy, cut, paste, undo, redo, showhelp, about, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge
RTE.default.showTagFreeClasses = 0
RTE.default.classesCharacter = grueneSchrift, orangeSchrift, blaueSchrift, graueSchrift, tabelle, zelleBlau, listeMenu, bildUnterschrift, typo3css, typo3tsetup, typo3tsconfig, linuxSource
RTE.default.classesParagraph = typo3css, typo3tsetup, typo3tsconfig, linuxSource
RTE.default.classesTable = tabelle
RTE.default.classesTD = zelleBlau
RTE.default.proc {
dontConvBRtoParagraph = 1
allowedClasses = grueneSchrift, orangeSchrift, blaueSchrift, graueSchrift, tabelle, zelleBlau, listeMenu, bildUnterschrift, typo3css, typo3tsetup, typo3tsconfig, linuxSource
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, ul, ol, li, re, blockquote, strong, em, b, i, u, span, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, pre
denyTags = font, font (full)
allowTagsOutside = img, hr, span
keepPDIVattribs = align, class, style
HTMLparser_rte {
// TAGS ALLOWED
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, ul, ol, li, re, blockquote, strong, em, b, i, u, span, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, pre
tags.p.allowedAttribs = class, align, style
keepNonMatchedTags = 1
}
HTMLparser_db {
// TAGS ALLOWED
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, ul, ol, li, re, blockquote, strong, em, b, i, u, span, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, pre
tags.p.allowedAttribs = class, align, style
keepNonMatchedTags = 1
}
entryHTMLparser_db = 1
entryHTMLparser_db {
htmlSpecialChars = 0
allowTags = form,input,table, tbody, tr,td,div,img,hr,b,i,u,a,br,pre,strong,em,li,ul,ol,h1,h2,h3,h4,h5,h6,span,p,b,th, pre
tags.p.allowedAttribs = class, align, style
// XHTML COMPLIANCE
xhtml_cleaning = 1
// CLEAN TAGS
noAttrib = b, i, u, strike, sub, sup, strong, em, quote, blockquote, cite, tt, br, center
tags.hr.allowedAttribs = class
tags.p.allowedAttribs = style, class
// REMAP B AND I TAGS
tags.i.remap = em
tags.b.remap = strong
rmTagIfNoAttrib = div,font
keepNonMatchedTags = protect
}
entryHTMLparser_db.tags {
img >
span >
}
RTE.config.tt_content.bodytext.proc.allowedClasses = grueneSchrift, orangeSchrift, blaueSchrift, graueSchrift, tabelle, zelleBlau, listeMenu, bildUnterschrift, typo3css, typo3tsetup, typo3tsconfig, linuxSource
tx_crawler.crawlerCfg.paramSets {
language = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
language.procInstrFilter = tx_indexedsearch_reindex, tx_cachemgm_recache
language.baseUrl = www.pc-erfahrung.de
}
Dieses Tutorial wurde basierend auf Typo3 4.0 und HTMLArea 1.3.7 durchgeführt.