Zum Inhalt springen

RTE Backend Layout - Darstellung der Buttons

Erstellt am 3. März 2016 · Noch keine Antworten

Tags: Frage

Teisinger ·

Hallo,

ich nutze die unten stehende config für den RTE.
Leider sind damit alle Buttons in einer Reihe also sie "floaten" bzw. umbrechen bei ende des RTE nicht. So das man nach rechts scrollen muss um zum Beispiel "Textmodus umschalten" drücken kann.

Leere ich den "RTE.default >" dann stimmt zwar das mit den Buttons wieder aber es funktioniert halt sonst kaum was...

Also mach ich irgendwas falsch, könnt Ihr mir bitte sagen was? 🙂

Vielen Dank.

RTE.default {
    # CSS-Datei für rte Darstellungen im RTE Editor
    contentCSS = fileadmin/Template/Css/UserRTE.css

    # Markup options
    enableWordClean = 1
    removeTrailingBR = 1
    removeComments = 1
    removeTags = center, sdfield
    removeTagsAndContents = link, meta, title, style, script

    # Dies sind alle zur Verfügung stehende Buttons
    # die mit showButtons hideButtons angezeigt/versteckt werden können
    # showButtons (
    # blockstylelabel, blockstyle, textstylelabel, textstyle, fontstyle, fontsize, formatblock,
    # blockquote, insertparagraphbefore, insertparagraphafter, lefttoright, righttoleft, language,
    # showlanguagemarks, left, center, right, justifyfull, orderedlist, unorderedlist, definitionlist,
    # definitionitem, outdent, indent, formattext, bidioverride, big, bold, citation, code, definition,
    # deletedtext, emphasis, insertedtext, italic, keyboard, monospaced, quotation, sample, small, span,
    # strikethrough, strong, subscript, superscript, underline, variable, textcolor, bgcolor, textindicator,
    # editelement, showmicrodata, emoticon, insertcharacter, insertsofthyphen, line, link, unlink, image,
    # table, user, acronym, findreplace, spellcheck, chMode, inserttag, removeformat, copy, cut, paste,
    # pastetoggle, pastebehaviour, undo, redo, about, toggleborders, tableproperties, tablerestyle,
    # rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columnproperties, columninsertbefore,
    # columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter,
    # celldelete, cellsplit, cellmerge
    # )

    # Buttons die gezeigt werden
    showButtons (
        blockstylelabel, blockstyle, left, center, right, fontsize, justifyfull, textstylelabel, textstyle, formatblock, 
        bold, italic, subscript, superscript,
        orderedlist, unorderedlist, indent, insertcharacter, link, table, findreplace, chMode, removeformat,
        toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore,
        columninsertafter, columndelete, cellproperties, columnsplit, cellinsertbefore, cellinsertafter, celldelete, 
        cellsplit, cellmerge, textcolor, bgcolor, code, class, inserttag, hMode, showmicrodata, editelement, line, image,
        insertparagraphbefore, insertparagraphafter,
    )

    # Buttons die ausgeblendet werden sollen, 
    # damit wird die default Einstellung des rte sicher überschrieben
    hideButtons(
          fontstyle, lefttoright, righttoleft, textindicator, emoticon, underline, strikethrough, user, 
          spellcheck, outdent, acronym, copy, cut, paste, undo, redo, showhelp, about, blockquote,
          definitionlist, definitionitem, formattext, bidioverride, big,
    )

    # die Reihenfolge der Buttons im RTE
    toolbarOrder (
          bold, italic, formatblock, fontsize, textstyle, textstylelabel, blockstyle, blockstylelabel, underline, 
          subscript, superscript, left, center, right, justifyfull, insertparagraphbefore, insertparagraphafter, 
          orderedlist, unorderedlist, line, link, image, 
          removeformat, findreplace, insertcharacter, indent, tableproperties, rowproperties, rowinsertabove, 
          rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, 
          cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge, toggleborders, 
          table, textcolor, bgcolor, code, chMode, class, strikethrough, hMode
    )

    # Einträge im RTE select Feld "Format"
    # zunächst eine Übersicht aller Standard Einträge:
    # address, article, aside, div, footer, header, nav, p, h1 - h6, pre, blockquote, section,
    # jetzt all das was wir nicht wollen:
    buttons.formatblock.removeItems (
          address, article, aside, footer, header, nav, h6, pre, blockquote, section
    )

    buttons.formatblock.addItems (
        span
    )

    # Hält die RTE Icons gruppiert zusammen
    keepButtonGroupTogether = 1

    # blendet Statusbar in htmlarea aus = 0
    showStatusBar = 1

    allowedClasses (
        align-left, align-center, align-right,
    )

    ## Ergänzt CSS Style für Textausrichtung links - center - rechts für h, p und Tabellen
    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; }
    )

    ## Eigens Stylesheet (für RTE Ansicht) wird nicht vom RTE EXT Stylesheet überschrieben
    ignoreMainStyleOverride = 1
    proc {
        overrideMode = css_transform

        allowedClasses < RTE.default.allowedClasses
        
        # tags die erlaubt / verboten sind
        allowTags (
            table ,tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, span, ul, ol, li, re, blockquote, 
            strong, em, b, i, u, sub, sup, strike, a, img, nobr, hr, tt, q, cite, abbr, acronym, center,
        )

        denyTags = font

        # br wird nicht zu p konvertiert
        dontConvBRtoParagraph = 1

        # tags sind erlaubt außerhalt von p, div
        allowTagsOutside = img, hr

        # erlaubte attribute in p, div tags
        keepPDIVattribs = class, id, style
       
        #classesParagraph = align-left, align-center, align-right,
        
        # Liste aller Klassen die in die DB geschrieben werden dürfen
        # Eigene Klassen müssen hier angefügt werden!
        allowedClasses (
            external-link, external-link-new-window, internal-link, 
            internal-link-new-window, download, mail,
            align-left, align-center, align-right, author, indent
        )

        classesParagraph < RTE.default.proc.allowedClasses

        # Generelle Einstellungen für den HTML-Parser
        HTMLparser_rte {
            
            # tags die erlaubt/verboten sind
            allowTags < RTE.default.proc.allowTags
            denyTags < RTE.default.proc.denyTags
            
            # entfernt html-kommentare
            removeComments = 1
            
            # tags die nicht übereinstimmen werden nicht entfernt (protect / 1 / 0)
            keepNonMatchedTags = 0
        } 

        # Vom RTE in die Datenbank
        entryHTMLparser_db = 1
        entryHTMLparser_db {
            
            # tags die erlaubt/verboten sind
            allowTags < RTE.default.proc.allowTags
            denyTags < RTE.default.proc.denyTags
            
            # Für diese Tags sind keine Attribute erlaubt
            noAttrib = b, i, sub, sup, strong, em, quote, blockquote, cite, tt, br, center
            
            # Diese Tags werden entfernt wenn kein Attribut vorhanden ist
            rmTagIfNoAttrib = div,font
            htmlSpecialChars = 0
            
            ## align attribute werden erlaubt
            tags {
                p.fixAttrib.align.unset >
                p.allowedAttribs = class, style, align

                div.fixAttrib.align.unset >

                hr.allowedAttribs = class

                # Das <b>-Tag wird durch <strong> ersetzt
                b.remap = strong
                i.remap = em

                ## img tags werden erlaubt
                img >
            }
        }
   
        # Von der Datenbank in den RTE
        exitHTMLparser_db = 1
        exitHTMLparser_db {
        }
    }

    showTagFreeClasses = 1

    # Tags die nicht eingeführt werden dürfen
    hideTags = font

    # Tabellen Optionen in der RTE Toolbar
    hideTableOperationsInToolbar = 0
    keepToggleBordersInToolbar = 1

    # Tabellen Editierungs-Optionen (cellspacing/ cellpadding / border)
    disableSpacingFieldsetInTableOperations = 1
    disableAlignmentFieldsetInTableOperations = 1
    disableColorFieldsetInTableOperations = 1
    disableLayoutFieldsetInTableOperations = 1
    disableBordersFieldsetInTableOperations = 0

    disableColorPicker = 1
    colors = color1, color2, color3, color4

    buttons.textstyle.tags.a.allowedClasses = font-size-xlarge, font-size-large, font-size-middle, font-size-small, letter-spacing-1, letter-spacing-2, btn-preis, btn-tel
    buttons.textstyle.tags.span.allowedClasses = font-size-xlarge, font-size-large, font-size-middle, font-size-small, letter-spacing-1, letter-spacing-2, btn-preis, btn-tel
    buttons.blockstyle.tags.div.allowedClasses := addToList (center)
    
    allowedClasses = font-size-xlarge, font-size-large, font-size-middle, font-size-small, letter-spacing-1, letter-spacing-2, btn-preis, btn-tel, center

    # Use same processing as on entry to database to clean content pasted into the editor
    enableWordClean.HTMLparser < RTE.default.proc.entryHTMLparser_db

    

    FE < RTE.default
    FE {
        userElements >
        userLinks >
        proc {
            allowTags = p,b,i,span,div
            allowedClasses < RTE.default.allowedClasses
            allowedClasses := addToList(phone, contact)
        }
    }

    buttons {
        link.properties.class.allowedClasses := addToList(phone, contact) 
    }
}

# Breite des RTE in Fullscreen-Ansicht
TCEFORM.tt_content.bodytext.RTEfullScreenWidth = 100%

RTE.classesAnchor {
    phone { 
        name = Telefon
    }
    contact { 
        name = Kontakt
    }
}

RTE.classes.center {
      name = Center
}

RTE.default.colors = color1, color2, color3, color4
RTE.colors {
    color1 {
        name = yellow
        value = #efab21
    }
    color2 {
        name = light-grey
        value = #e4e4e5
    }
    color3 {
        name = dark-grey
        value = #938e8c
    }
    color4 {
        name = broun
        value = #4b433e
    }
}