htmlArea RTE offers four default configurations:
Typical: sets Page TSConfig and User TSConfig with most commonly used features representing a good start for typical sites and for most situations;
Minimal: sets Page TSConfig and User TSConfig with minimal features; this is for advanced administrators who are familiar with the features of the RTE and understand well how to configure the RTE using Page TSConfig;
Demo: sets Page TSConfig and User TSConfig with as many features as possible for users who want to explore the features of the RTE; this is not recommended for a production environment;
Image: adds support for images to the Typical default configuration.
The default configuration may be chosen in the installation dialog of the htmlArea RTE extension presented by the Extension Manager. If not otherwise specified, the Typical default configuration will be used.
All default configurations share the same default configuration of RTE content transformation.
This default configuration establishes default settings in Page TSConfig for RTE content transformation.
For documentation of RTE tranformations, see: http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/5/2/
For documentation of Page TSConfig configuration of RTE processing, see: http://typo3.org/documentation/document-library/references/doc_core_tsconfig/current/view/1/3/
For documentation of the HTMLparser, see: http://typo3.org/documentation/document-library/references/doc_core_tsref/current/view/5/17/
For documentation of RTE settings in TCA, see: http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/4/3/
The following is inserted in Page TSConfig:
## 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, 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, cite, code, div, em,
h1, h2, h3, h4, h5, h6, hr, i, img, li, link, ol, p, pre, q, sdfield,
span, strong, sub, sup, table, tbody, td, th, tr, tt, 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 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