RTE HTMLarea

5.1. 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/4.1.0/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/4.1.0/view/4/3/#id3665895

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 = 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, bdo, big, br, caption, center, cite, code, col,           colgroup, del, dfn, div, em, font, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, li, link,             ol, p, pre, q, samp, sdfield, small, span, strike, strong, sub, sup, table, thead, tbody,             tfoot, td, th, tr, 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

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

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

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

 

To top


Valid XHTML 1.0!