ungefähr so:
Das hier steht im TS Config, such dir die Stelle mit den Tabellen
RTE.classes {
# ACHTUNG: wegen eines Fehlers in Safari _MÜSSEN_ die Klassen in
# konsequenter Kleinschreibung definiert werden!!
# Blockstile
csc-frame-indent {
name = Einzug
value =
}
csc-frame-frame1 {
name = Rahmen einfach
value =
}
align-left {
name = linksbündiger Text
value =
}
align-right {
name = rechtsbündiger Text
value =
}
align-center {
name = zentrierter Text
value =
}
kleinertext {
name = Textblock: kleine Schrift
value =
}
grossertext {
name = Textblock: große Schrift
value =
}
zitatbox {
name = zitatbox
value =
}
# Tabellenstile, kann in Tabelleneigenschaften ausgewaehlt werden
contenttable {
name = Mit Rahmen
value =
}
contenttable2 {
name = Mit Linien
value =
}
layout {
name = unsichtbare Layouttabelle
value =
}
# Textauszeichnungen fuer Texte nicht fuer Absaetze
serifen {
name = Serifenschrift
value = font-family:georgia
}
starkebetonung {
name = Farbe, starker Kontrast
value = color: #aa0000
}
betonung {
name = Farbe, geringer Kontrast
value = color: #1a4c76
}
hellgrau {
name = Hellgrauer Text
value = color: #aaaaaa
}
dunkelgrau {
name = dunkelgrauer Text
value = color:#666666
}
}
RTE.default {
#defaultLinkTarget =
showButtons = *
hideButtons (
lefttoright, righttoleft, formattext, bidioverride, big,
citation, definition, insertedtext, italic, keyboard,
monospaced, sample, small, span, strikethrough,
variable, user, bold, underline, fontstyle, fontsize,
blockquote, insertparagraphbefore, insertparagraphafter,
spellcheck, inserttag, copy, cut, paste,
justifyfull, textcolor, bgcolor, emoticon, blockquote
)
## selten genutzte Tags in der Absatzpalette verbergen
hidePStyleItems = pre,address,h5,h6,div
# CSS-Datei für den RTE - einfach die Haupt-CSS-Datei übernehmen
contentCSS=fileadmin/atestbereich/styles/standard.css
# contentCSS=fileadmin/atestbereich/styles/rtetsconfig.css
removeTags = blockquote
proc {
# das ist das Problem - es werden nicht alle anderen Klassen entfernt.
# offenbar wirkt diese Angabe nicht wie gewünscht - verm. ein Bug
# drin sein muss es aber, sonst werden die Klassen nicht im RTE gezeigt.
allowedClasses (
align-left,align-center,align-right,
csc-frame-indent,csc-frame-frame1,
kleinertext, grossertext,
contenttable,contenttable2, layout,
external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
component-items, action-items,
component-items-ordered, action-items-ordered,
serifen, starkebetonung, betonung, hellgrau, dunkelgrau, zitatbox
)
# hier werden die erlaubten Attribute der Tags geregelt.
entryHTMLparser_db = 1
entryHTMLparser_db {
tags {
# Definition, welche Klassen und sonst. Attribute erlaubt sind
# Nötig, weil allowedClasses nicht funktioniert.
p {
# erlaubte Attribute
allowedAttribs = id, title, dir, lang, xml:lang, class
# align und style-Attribute werden entfernt
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
# erlaubte Klassen, alle anderen werden entfernt
# ACHTUNG: das erste Komma ist wichtig.
fixAttrib.class.list (
, csc-frame-indent,csc-frame-frame1, align-left, align-right, align-center, kleinertext, grossertext, zitatbox
)
fixAttrib.class.removeIfFalse = 1
}
div < .p
h1 < .p
h2 < .p
h3 < .p
h4 < .p
h5 < .p
h6 < .p
ul < .p
ol < .p
li < .p
dfn < .p
pre < .p
# blockquote < .p
preserveTables = 1
table {
allowedAttribs = id, title, dir, lang, xml:lang, class
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
fixAttrib.class.list (
, contenttable,contenttable2, layout
)
fixAttrib.class.removeIfFalse = 1
}
td {
allowedAttribs = id, title, dir, lang, xml:lang, class
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
fixAttrib.class.list (
, align-left, align-right, align-center
)
fixAttrib.class.removeIfFalse = 1
}
th < .td
hr < .td
span {
allowedAttribs = id, title, dir, lang, xml:lang, class
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
fixAttrib.class.list (
, serifen, starkebetonung, betonung, hellgrau, dunkelgrau,
)
fixAttrib.class.removeIfFalse = 1
}
a {
allowedAttribs = id, title, dir, lang, xml:lang, class, href, name
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
fixAttrib.class.list (
, external-link, external-link-new-window, internal-link, internal-link-new-window,
)
fixAttrib.class.removeIfFalse = 1
}
b.remap = strong
i.remap = em
}
# aus hygienischen Gründen werden Tags ohne Attribute entfernt
rmTagIfNoAttrib = span,div,a
}
}
# nur Klassen mit Tags erlauben/verbieten. z. B. : p.klasse {border:1px solid #ccc}
showTagFreeClasses=0
# hier wird definiert, welche Klassen den Redakteuren zur
# Verfügung gestellt werden: die vorhandenen Klassen für die
# Zeichenformatierung werden hier ausgeschaltet:
classesParagraph (
csc-frame-indent,csc-frame-frame1, kleinertext, grossertext, zitatbox
)
classesCharacter (
serifen, starkebetonung, betonung, hellgrau, dunkelgrau,
)
# Klassendefinition für die gesamte Tabelle
classesTable = contenttable,contenttable2, layout
# Klassendefinition für die einzelnen Zellen
# das kann für tr, thead, tbody ebenfalls gemacht werden
# classesTD = rot1, hellgrau1, dunkelgrau1
# fehlen noch.
# Klassen für die Links
classesLinks = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail
classesAnchor = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail
classesAnchor.default {
page = internal-link
url = external-link-new-window
file = download
mail = mail
}
}
# Mit dem folgenden Abschnitt ist es möglich, unmittelbar beim Einkopieren aus
# der Zwischenablage den Code bereinigen zu lassen, also bereits vor dem Speichern;
# Leider ist es in den Voreinstellungen praktisch unkonfiguriert, deshalb muss man hier
# viel selbst erledigen. Man kann den HTMLParser der WordClean-Funktion bis ins Detail
# konfigurieren.
# Diese Konfiguration unterscheidet sich von RTE.default.proc !
# Es wird hier viel mehr entfernt - über die Zwischenablage können keine korrekten Klassen
# kommen, deshalb werden alle entfernt.
RTE.default.enableWordClean.HTMLparser {
allowTags (
a, abbr, acronym, address, b, bdo, big, br, caption, center, cite, code, col,
colgroup, del, dfn, div, em, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, li, link,
ol, p, pre, q, samp, sdfield, small, strike, strong, sub, sup, table, thead, tbody, tfoot,
td, th, tr, tt, u, ul, var, span
#blockquote,
)
tags {
p {
allowedAttribs = id, title, dir, lang, xml:lang, class
fixAttrib.align.unset = 1
fixAttrib.style.unset = 1
}
div < .p
h1 < .p
h2 < .p
h3 < .p
h4 < .p
h5 < .p
h6 < .p
table < .p
thead < .p
tbody < .p
tfoot < .p
th < .p
tr < .p
td < .p
caption < .p
span < .p
ul < .p
ol < .p
li < .p
dfn < .p
hr < .p
strong < .p
em < .p
del < .p
q < .p
code < .p
#blockquote < .p
b < .p
i < .p
sub < .p
sup < .p
hr < .p
pre < .p
a {
# entfernt die Anker aus Word-Dokumenten
# und die Style-Attribute, die Safari sonst in die Links schreibt.
allowedAttribs = id, title, dir, lang, xml:lang, class, href
fixAttrib.style.unset = 1
}
}
# das a ist neu hier, für die Anker aus Word
rmTagIfNoAttrib = span,div,a
removeTags = center, font, o:p, sdfield, strike, u
# das brauchts, weil Safari sonst sogar auf br das style-Atribut setzt
noAttrib = br
}
TCEFORM.tt_content {
# Header ausblenden
header_layout.removeItems = 1
# Header mit anderem Namen versehen
header_layout.altLabels.0 = 1. Ebene H1
header_layout.altLabels.2 = 2. Ebene H2
header_layout.altLabels.3 = 3. Ebene H3
header_layout.altLabels.4 = 4. Ebene H4
header_layout.altLabels.5 = 5. Ebene H5
# Layout mit anderem Namen versehen
layout.altLabels.0 = Standard
layout.altLabels.1 = Layoutvariante 1
layout.altLabels.2 = Layoutvariante 2
layout.altLabels.3 = Layoutvariante 3
# Tabellen-Direktformate ausschalten
table_bgColor.disabled = 1
table_border.disabled = 1
table_cellspacing.disabled = 1
table_cellpadding.disabled = 1
# Diverse weitere Formate ausschalten
########### colPos.disabled = 1
rte_enabled.disabled = 1
}
Und das hier im Setup der Rootseite
#RTE für Tabellen
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc {
makelinks = 1
makelinks.http.keep = scheme,path,query
makelinks.mailto.keep = path
tags {
link = TEXT
link {
current = 1
typolink.parameter.data = parameters : allParams
}
}
}