[TYPO3-german] rtehtmlarea: Link-Images verschwinden beim Speichern der Seiten

Florian Nold mail at floriannold.de
Mon Jan 1 23:01:42 CET 2007


Hallo,

ein gutes neues Jahr wünsche ich allen T3-AnwenderInnen!

habe ein Problem mit rtehtmlarea seit dem Security Update auf 
rtehtmlarea 1.3.8 bzw. typo3 V4.0.4
Wenn ich in einer Seite z.B. einen externen Link einfüge, zeigt mir der 
Editor vor dem Link korrekt daszugehörige Image ("Pfeilchen" 
external_link.gif) an.
DIes habe ich im TSCONFIG wohl durch die Definition

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

Wenn ich die Seite aber nun im Editor speichere wird das Image-Tag entfernt.
Bin ratlos.
Ich verwende die "typical" Default rte-Einstellungen (TSCONFIG) aus dem 
RTE-Handbuch (s.unten, sorry für das überlange Posting)
Hat jemand eine Idee, durch welche rtehtmlarea Einstellung ich mir die 
Images wieder raushaue?
Danke

------------------- TSCONFIG Beginn ------------------
    ## 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
    ## Define labels and styles to be applied to class selectors in the 
interface of the RTE
    ## The examples included here make partial re-use of color scheme 
and frame scheme from CSS Styled Content extension
RTE.classes {
    align-left {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyleft
        value = text-align: left;
    }
    align-center {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifycenter
        value = text-align: center;
    }
    align-right {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyright
        value = text-align: right;
    }
    csc-frame-frame1 {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:frame-frame1
        value = background-color: #EDEBF1; border: 1px solid #333333;
    }
    csc-frame-frame2 {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:frame-frame2
        value = background-color: #F5FFAA; border: 1px solid #333333;
    }
    important {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:important
        value = color: #8A0020;
    }
    name-of-person {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:name-of-person
        value = color: #10007B;
    }
    detail {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:detail
        value = color: #186900;
    }
    component-items {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:component-items
        value = color: #186900;
    }
    action-items {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:action-items
        value = color: #8A0020;
    }
    component-items-ordered {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:component-items
        value = color: #186900;
    }
    action-items-ordered {
        name = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/DynamicCSS/locallang.xml:action-items
        value = color: #8A0020;
    }
}

    RTE.classesAnchor {
    externalLink {
        class = external-link
        type = url
        image = 
EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_titleText
    }
    externalLinkInNewWindow {
        class = external-link-new-window
        type = url
        image = 
EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_titleText
    }
    internalLink {
        class = internal-link
        type = page
        image = 
EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_titleText
    }
    internalLinkInNewWindow {
        class = internal-link-new-window
        type = page
        image = 
EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link_new_window.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_titleText
    }
    download {
        class = download
        type = file
        image = 
EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/download.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_titleText
    }
    mail {
        class = mail
        type = mail
        image = EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/mail.gif
        altText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_altText
        titleText = 
LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_titleText
    }
}

    ## Default RTE configuration
RTE.default {
        ## Markup options (htmlArea RTE only)
    enableWordClean = 1
    removeTrailingBR = 1
    removeComments = 1
    removeTags = center, font, o:p, sdfield, strike,u
    removeTagsAndContents = style,script

        ## Toolbar options
        ## The TCA configuration may add buttons to the toolbar
        ## The following buttons are specific to Classic RTE: class
        ## The following buttons are specific to htmlArea RTE: 
blockstylelabel, blockstyle, textstylelabel, textstyle,
        ##        insertcharacter, findreplace, removeformat, 
toggleborders, tableproperties,
        ##        rowproperties, rowinsertabove, rowinsertunder, 
rowdelete, rowsplit,
        ##        columninsertbefore, columninsertafter, columndelete, 
columnsplit,
        ##        cellproperties, cellinsertbefore, cellinsertafter, 
celldelete, cellsplit, cellmerge
    showButtons (
        class, blockstylelabel, blockstyle, textstylelabel, textstyle,
        formatblock, bold, italic, subscript, superscript,
        orderedlist, unorderedlist, outdent, indent, textindicator,
        insertcharacter, link, table, findreplace, chMode, removeformat, 
undo, redo, about,
        toggleborders, tableproperties,
        rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit,
        columninsertbefore, columninsertafter, columndelete, columnsplit,
        cellproperties, cellinsertbefore, cellinsertafter, celldelete, 
cellsplit, cellmerge
    )
        ## More toolbar options (htmlArea RTE only)
    keepButtonGroupTogether = 1

        ## Enable status bar (htmlArea RTE only)
    showStatusBar =  1

        ## Hide infrequently used paragraph types in the paragraph type 
selector (formatblock button)
    hidePStyleItems = pre,address

        ## Add default example styles
        ## The example styles included here make partial re-use of color 
scheme and frame scheme from CSS Styled Content extension
        ## Left, center and right alignment of text in paragraphs and cells.
    inlineStyle.text-alignment (
        p.align-left, h1.align-left, h2.align-left, h3.align-left, 
h4.align-left, h5.align-left, h6.align-left, td.align-left { text-align: 
left; }
        p.align-center, h1.align-center, h2.align-center, 
h3.align-center, h4.align-center, h5.align-center, h6.align-center, 
td.align-center { text-align: center; }
        p.align-right, h1.align-right, h2.align-right, h3.align-right, 
h4.align-right, h5.align-right, h6.align-right, td.align-right { 
text-align: right; }
    )
        ## Two frame examples taken from the example CSS file of CSS 
Styled Content extension and applied to p and table block elements.
    inlineStyle.frames (
        p.csc-frame-frame1, table.csc-frame-frame1 { background-color: 
#EDEBF1; padding: 2px 4px 2px 4px; border: 1px solid #333333; }
        p.csc-frame-frame2, table.csc-frame-frame2 { background-color: 
#F5FFAA; padding: 2px 4px 2px 4px; border: 1px solid #333333; }
    )
        ## Bullet styles for unordered lists.
    inlineStyle.ul (
        ul.component-items { color: #186900; list-style-type: circle; }
        ul.action-items { color: #8A0020; list-style-image: 
url(img/red_arrow_bullet.gif); }
    )
        ## Numbering styles for ordered lists.
    inlineStyle.ol (
        ol.component-items-ordered { color: #10007B; list-style-type: 
lower-roman; }
        ol.action-items-ordered { color: #8A0020; list-style-type: 
lower-greek; }
    )
        ## Three inline text colors taken from the color scheme of CSS 
Styled Content extension.
    inlineStyle.inline-text (
        span.important { color: #8A0020; }
        span.name-of-person { color: #10007B; }
        span.detail { color: #186900; }
    )
        ## Use stylesheet file rather than the above mainStyleOverride 
and inlineStyle properties to style the contents (htmlArea RTE only)
    ignoreMainStyleOverride = 1

        ## List all class selectors that are allowed on the way to the 
database
    proc.allowedClasses (
        external-link, external-link-new-window, internal-link, 
internal-link-new-window, download, mail,
        align-left, align-center, align-right,
        csc-frame-frame1, csc-frame-frame2,
        component-items, action-items,
        component-items-ordered, action-items-ordered,
        important, name-of-person, detail
    )
        ## classesParagraph, classesTable, classesTD, classesLinks, 
classesCharacter
        ## Classic RTE: Specify the list of class selectors that should 
be presented in the RTE interface:
        ## htmlArea RTE: Restrict the list of class selectors presented 
by the RTE to the following:
    classesParagraph (
        align-left, align-center, align-right,
        csc-frame-frame1, csc-frame-frame2
    )
    classesTable = csc-frame-frame1, csc-frame-frame2
    classesTD = align-left, align-center, align-right
    classesLinks = external-link, external-link-new-window, 
internal-link, internal-link-new-window, download, mail
    classesCharacter = important, name-of-person, detail

        ## Configuration of the anchor accessibility feature (htmlArea 
RTE only)
        ## These classes should also be in the list of allowedClasses.
    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
    }
        ## Configuration specific to the TableOperations feature 
(htmlArea RTE only)
        ## Remove the following fieldsets from the properties popups
    disableAlignmentFieldsetInTableOperations = 1
    disableSpacingFieldsetInTableOperations = 1
    disableColorFieldsetInTableOperations = 1
    disableLayoutFieldsetInTableOperations = 1
}
    ## front end RTE configuration for the general public (htmlArea RTE 
only)
RTE.default.FE < RTE.default
RTE.default.FE.showStatusBar = 0
RTE.default.FE.hideButtons = chMode, blockstyle, textstyle, underline, 
strikethrough, subscript, superscript, lefttoright, righttoleft, left, 
center, right, justifyfull, table, inserttag, findreplace, removeformat, 
copy, cut, paste
RTE.default.FE.userElements >
RTE.default.FE.userLinks >

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

-- 
Gruesse von

Florian Nold
email:mail at floriannold.de



More information about the TYPO3-german mailing list