DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

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: RTE tranformations

For documentation of Page TSconfig configuration of RTE processing, see: RTE tranformations Page TSconfig

For documentation of the HTMLparser, see: TypoScript HTMLparser

For documentation of RTE settings in TCA, see: Special Configuration Options

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

## PRESERVE DIV SECTIONS - DO NOT REMAP TO P

preserveDIVSections = 1

## TAGS ALLOWED OUTSIDE P & DIV

allowTagsOutside = address, article, aside, blockquote, footer, header, hr, nav, section

## TAGS ALLOWED

## Added to the default internal list: b,i,u,a,img,br,div,center,pre,f ont,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, link, meta, o:p, strike, sdfield, style, title 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, article, aside, b, bdo, big, blockquote, br, caption, center, cite, code, col, colgroup, dd, del, dfn, dl, div, dt, em, font, footer
allowTags := addToList(header, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, label, li, link, meta, nav, ol, p, pre, q, samp, sdfield, section, small)
allowTags := addToList(span, strike, strong, style, sub, sup, table, thead, tbody, tfoot, td, th, tr, title, tt, u, ul, var)

## 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 = id, title, dir, lang, xml:lang, itemscope, itemtype, itemprop

## ALLOW TO WRITE ABOUT HTML

dontUndoHSC_db = 1
dontHSC_rte = 1

## 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
        span.allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop
        span.rmTagIfNoAttrib = 1
        p {
                allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop
                fixAttrib.align.unset = 1
        }
        div < .p
        hr.allowedAttribs = class
        b.allowedAttribs  < .span.allowedAttribs
        bdo.allowedAttribs  < .span.allowedAttribs
        big.allowedAttribs  < .span.allowedAttribs
        blockquote.allowedAttribs  < .span.allowedAttribs
        cite.allowedAttribs  < .span.allowedAttribs
        code.allowedAttribs  < .span.allowedAttribs
        del.allowedAttribs  < .span.allowedAttribs
        dfn.allowedAttribs  < .span.allowedAttribs
        em.allowedAttribs  < .span.allowedAttribs
        i.allowedAttribs  < .span.allowedAttribs
        ins.allowedAttribs  < .span.allowedAttribs
        kbd.allowedAttribs  < .span.allowedAttribs
        label.allowedAttribs  < .span.allowedAttribs
        q.allowedAttribs  < .span.allowedAttribs
        samp.allowedAttribs  < .span.allowedAttribs
        small.allowedAttribs  < .span.allowedAttribs
        strike.allowedAttribs  < .span.allowedAttribs
        strong.allowedAttribs  < .span.allowedAttribs
        sub.allowedAttribs  < .span.allowedAttribs
        sup.allowedAttribs  < .span.allowedAttribs
        tt.allowedAttribs  < .span.allowedAttribs
        u.allowedAttribs  < .span.allowedAttribs
        var.allowedAttribs  < .span.allowedAttribs
}

## REMOVE OPEN OFFICE META DATA TAGS, WORD 2003 TAGS, LINK, META, STYLE AND TITLE 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, link, o:p, sdfield, meta, style, title, 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
}
exitHTMLparser_db = 1
     exitHTMLparser_db {

## 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