Mir ist ein Problem über den Weg gelaufen, das ich vor Jahren schon einmal hatte, aber ich kenne leider die Lösung nicht mehr. Außerdem weiss ich nicht, welche Auswirkung der neue RTE (rtehtmlarea Version 1.4.1) hat, da ich damals den alten RTE nutzte.
Die meisten Tags werden korrekt geparst, sowohl in Richtung RTE > Datenbank als auch Datenbank > Frontend.
Einige Tags werden aber nicht geparst bzw. als Sonderzeichen konvertiert aus der DB in Richtung FE. Zu sehen ist dann im Frontend der eigentliche Tag, also z.B.
<acronym>Zitat</acronym>.
Exakt so, steht es auch in der DB. Diese "Problemtags" werden also vom RTE korrekt in die DB geschrieben und auch im RTE korrekt dargestellt. Irgendwas - und da liegt der Hund wohl begraben - veranlasst den RTE bzw. HTMLparser, diese und nur diese Tags, umzuwandeln in Sonderzeichen. Dann stehen sie natürlich als Tags sichtbar auf der Seite im FE. Page-TS-Config habe ich mal unten angehängt, ist (aber) die Standardkonfiguration.
## Default RTE processing rules
RTE.default.proc {
## TRANSFORMATION METHOD
## We assume that CSS Styled Content is used.
overruleMode = ts_css
## DO NOT CONVERT BR TAGS INTO LINEBREAKS
## br tags in the content are assumed to be intentional.
dontConvBRtoParagraph = 1
## REMAP DIV TAGS TO P TAGS
## For compatibility between Classic RTE and htmlArea RTE
remapParagraphTag = p
## TAGS ALLOWED OUTSIDE P & DIV
allowTagsOutside = hr, address
## TAGS ALLOWED
## Added to the default internal list: b,i,u,a,img,br,div,center,pre,font,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,span
## But, for the sake of clarity, we use a complete list in alphabetic order.
## center, font, o:p, strike, sdfield and u will be removed on entry (see below).
## b and i will be remapped on exit (see below).
## Note that the link accessibility feature of htmlArea RTE does insert img tags.
allowTags (
a, abbr, acronym, address, blockquote, b, br, caption, center, cite, code, div, em, font,
h1, h2, h3, h4, h5, h6, hr, i, img, li, link, ol, p, pre, q, sdfield,
span, strike, strong, sub, sup, table, thead, tbody, tfoot, td, th, tr, tt, u, ul
)
## TAGS DENIED
## Make sure we can set rules on any tag listed in allowTags.
denyTags >
## ALLOWED P & DIV ATTRIBUTES
## Attributes class and align are always preserved
## Align attribute will be unset on entry (see below)
## This is a list of additional attributes to keep
keepPDIVattribs = xml:lang
## CONTENT TO DATABASE
entryHTMLparser_db = 1
entryHTMLparser_db {
## TAGS ALLOWED
## Always use the same list of allowed tags.
allowTags < RTE.default.proc.allowTags
## TAGS DENIED
## Make sure we can set rules on any tag listed in allowTags.
denyTags >
## AVOID CONTENT BEING HSC'ed TWICE
htmlSpecialChars = 0
tags {
## REMOVE IMG TAGS
img.allowedAttribs = 0
img.rmTagIfNoAttrib = 1
## CLEAN ATTRIBUTES ON THE FOLLOWING TAGS
span.fixAttrib.style.unset = 1
p.fixAttrib.align.unset = 1
div.fixAttrib.align.unset = 1
hr.allowedAttribs = class
b.allowedAttribs = xml:lang
blockquote.allowedAttribs = xml:lang
cite.allowedAttribs = xml:lang
em.allowedAttribs = xml:lang
i.allowedAttribs = xml:lang
q.allowedAttribs = xml:lang
strong.allowedAttribs = xml:lang
sub.allowedAttribs = xml:lang
sup.allowedAttribs = xml:lang
tt.allowedAttribs = xml:lang
}
## REMOVE OPEN OFFICE META DATA TAGS, WORD 2003 TAGS AND DEPRECATED HTML TAGS
## We use this rule instead of the denyTags rule so that we can protect custom tags without protecting these unwanted tags.
removeTags = center, font, o:p, sdfield, strike, u
## PROTECT CUSTOM TAGS
keepNonMatchedTags = protect
}
HTMLparser_db {
## STRIP ALL ATTRIBUTES FROM THESE TAGS
## If this list of tags is not set, it will default to: b,i,u,br,center,hr,sub,sup,strong,em,li,ul,ol,blockquote,strike.
## However, we want to keep xml:lang attribute on most tags and tags from the default list where cleaned on entry.
noAttrib = br
## XHTML COMPLIANCE
## Note that applying xhtml_cleaning on exit would break non-standard attributes of typolink tags
xhtml_cleaning = 1
}
exitHTMLparser_db = 1
exitHTMLparser_db {
## REMAP B AND I TAGS
## b and i tags are used by Mozilla/Firefox in editing mode.
## This must be done on exit because the default HTMLparser_db parsing executes the reverse mapping.
tags.b.remap = strong
tags.i.remap = em
## KEEP ALL TAGS
## Unwanted tags were removed on entry.
## Without this rule, the parser will remove all tags! Presumably, this rule will be more efficient than repeating the allowTags rule
keepNonMatchedTags = 1
## AVOID CONTENT BEING HSC'ed TWICE
htmlSpecialChars = 0
}
}
## Use same RTE processing rules in FE
RTE.default.FE.proc < RTE.default.proc
## RTE processing rules for bodytext column of tt_content table
## Erase settings from other extensions
RTE.config.tt_content.bodytext >
## Make sure we use ts_css transformation
RTE.config.tt_content.bodytext.proc.overruleMode = ts_css
RTE.config.tt_content.bodytext.types.text.proc.overruleMode = ts_css
RTE.config.tt_content.bodytext.types.textpic.proc.overruleMode = ts_css