[TYPO3-german] Email Links Not Parsed in HTML Output

Dennis Riedel riedel at opus5.info
Fri Jul 17 15:27:54 CEST 2009


Hello List Members

The Problem: I create an email link with htmlareaRTE (Link Popup, Email 
Tab) but the link is not created in the HTML page when displaying in the 
browser. The link appears as: <link info at email.com - mail 
"info at email.com">info at email.com</link>
I was told that this is a correct Typolink format. So it seems that the 
content is not parsed completely before send to the browser as it should 
be an A element with "mailto". Normal links to internal pages or 
external pages are created correctly.

I use TYPO3 4.2.8, TemplaVoila! 1.3.7 and htmlareaRTE 1.7.11

Regards

P.S.: my RTE configuration (mainly taken from the configuration 
documentation):

## RTE Configuration
## Anchor classes configuration for use by the anchor accesibility 
feature (htmlArea RTE only)

RTE.classesAnchor {
   externalLink {
      class = external-link
      type = url
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_titleText
   }

   externalLinkInNewWindow {
      class = external-link-new-window
      type = url
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_titleText
   }

   internalLink {
      class = internal-link
      type = page
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_titleText
   }

   internalLinkInNewWindow {
      class = internal-link-new-window
      type = page
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_titleText
   }

   download {
      class = download
      type = file
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_titleText
   }

   mail {
      class = mail
      type = mail
      titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_titleText
   }
}

RTE.default {
# Buttons die gezeigt/versteckt werden
   showButtons = copy, cut, paste, bold, italic, underline undo, redo, 
removeformat, link
   hideButtons = left, center, right, orderedlist, unorderedlist, 
insertcharacter, line, image, table, toggleborders, tableproperties, 
rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, 
columninsertbefore, columninsertafter, columndelete, columnsplit, 
cellproperties, cellinsertbefore, cellinsertafter, celldelete, 
cellsplit, cellmerge, findreplace, insertcharacter, textstyle, 
textstylelabel, blockstyle, blockstylelabel, fontstyle, formatblock, 
fontsize, strikethrough,lefttoright, righttoleft, textcolor, bgcolor, 
textindicator, emoticon, user, spellcheck, chMode, inserttag, outdent, 
indent, justifyfull, subscript, superscript, acronym, showhelp, about

   # blendet Statusbar in htmlarea aus
   showStatusBar =  0
   removeComments = 1
   enableWordClean = 1
   removeTrailingBR = 1
       
   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
   }
}

mod.xMOD_alt_doc {
  disableCacheSelector = 1
  disableDocSelector = 1
  disableAdvanced = 1
}
#

## RTE Configuration
RTE.default {
# Buttons die gezeigt/versteckt werden
        showButtons = copy, cut, paste, bold, italic, underline undo, 
redo, link
        hideButtons = left, center, right, orderedlist, unorderedlist, 
insertcharacter, line, image, removeformat, table, toggleborders, 
tableproperties, rowproperties, rowinsertabove, rowinsertunder, 
rowdelete, rowsplit, columninsertbefore, columninsertafter, 
columndelete, columnsplit, cellproperties, cellinsertbefore, 
cellinsertafter, celldelete, cellsplit, cellmerge, findreplace, 
insertcharacter, textstyle, textstylelabel, blockstyle, blockstylelabel, 
fontstyle, formatblock, fontsize, strikethrough,lefttoright, 
righttoleft, textcolor, bgcolor, textindicator, emoticon, user, 
spellcheck, chMode, inserttag, outdent, indent, justifyfull, subscript, 
superscript, acronym, showhelp, about
}

## setzen der Defaultsprache fürs BE:
mod.SHARED {
   defaultLanguageFlag=pt.gif
   defaultLanguageLabel=Portuguese
}

RTE.default.proc {
   ## We assume that CSS Styled Content is used.
   overruleMode = ts_css
  
   ## br tags in the content are assumed to be intentional
   dontConvBRtoParagraph = 1
  
   ## REMAP DIV TAGS TO P TAGS
   remapParagraphTag = p
  
   ## Added to the default internal list:
   allowTags (
      a, abbr, acronym, address, blockquote, b, br, caption, cite, code, 
em, h1, h2, h3, h4, h5, h6, hr, i, img, li, link, ol, pre, q, sdfield, 
span, strong, sub, sup, table, tbody, td, th, tr, tt, ul
   )
  
   ##Content to database
   entryHTMLparser_db = 1
   entryHTMLparser_db {
      allowTags < RTE.default.proc.allowTags
      htmlSpecialChars = 0
      removeTags = center, font, o:p, sdfield, strike, u
      keepNonMatchedTags = protect
   }
  
   HTMLparser_db {
      ## 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


## tt_content TCEFORM configuration
## Let use all the space available for more comfort.
TCEFORM.tt_content.bodytext.RTEfullScreenWidth= 100%


More information about the TYPO3-german mailing list