TYPO3 RTE processing rules und htmlarea Konfiguration
- 12. November 2011 - TYPO3
Eine für die meisten Standard Use Cases passende Konfiguration für den bei TYPO3 mitgelieferten Rich Text Editor htmlarea.
Inklusive der passenden processing rules und Unerstützung von DAM (auch in tt_news).
Ich erweitere hier, im Gegensatz zur früheren Konfiguration, die bei htmlarea mitgelieferte Standard Konfiguration.
Beide Snippets müssen ins Page TS. Die processing rules sollten vor den htmlarea Einstellungen platziert werden.
Im Extension Manager müssen idealerweise die folgenden Einstellungen getroffen werden:
HtmlArea
- Default configuration settings [defaultConfiguration] auf "Typical" einstellen
- Enable images in the RTE [enableImages] aktivieren wenn benötigt
- Enable additional inline elements [enableInlineElements] deaktivieren
DAM
- media tag [mediatag] aktivieren
- htmlArea RTE integration [htmlAreaBrowser] aktivieren
Ggf. müssen noch die erlaubten tags (allowTags) in den Constants erweitert werden (siehe letztes Snippet), zum Beispiel wenn attr als tag benutzt werden soll.
# ***************************************************************************************
# TYPO3 htmlArea RTE configuration
#
# Author: Felix Nagel for Paints Multimedia GmbH, http://www.paints.de
# Info & DL: http://www.felixnagel.com/blog/kategorie/typo3/
# ***************************************************************************************
# we need to include default parsing rules
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/templates/skin_standard/typoscript/system/tsconfig_rte_proc_rules.ts">
# Define labels and styles to be applied to class selectors in the interface of the RTE
RTE.classes >
# this class needs to be added to you CSS file (contentCSS)
RTE.classes.special-text {
name = Abgesetzter Text
}
# Anchor classes configuration for use by the anchor accesibility feature (htmlArea RTE only)
RTE.classesAnchor >
# Default RTE configuration
RTE.default {
# add CSS file for rte
contentCSS = fileadmin/templates/css/rte.css
# disable right click
disableRightClick = 1
# acronym sys folder (id, not needed for admins as webmount is used)
# buttons.acronym.pages = 306
# buttons.lockBEUserToDBmounts = 1
# image in RTE relevant
# please note you need to enable images in the EM and add width and height to RTE.default.proc.entryHTMLparser_db.tags.img.allowedAttribs
# media_ prefix when using DAM, see http://bugs.typo3.org/bug_view_advanced_page.php?bug_id=13902
buttons.image.options.removeItems = dragdrop, media_dragdrop, magic, media_magic
buttons.image.options.plain.maxWidth = 960
buttons.image.options.plain.maxHeight = 1000
buttons.image.properties.removeItems = align, border, float, paddingTop, paddingRight, paddingBottom, paddingLeft, clickenlarge
# clean out crap
removeComments = 1
enableWordClean = 1
# removed strike and u tag from default config
removeTags = center, font, o:p, sdfield
# modified showButtons array (should be sufficient in most use cases)
# row 1: text styles and tools
# row 2: standard buttons
# row 3: table operations
showButtons (
blockstyle, formatblock, bar, copy, cut, paste, pastebehaviour, pastetoggle, findreplace, bar, undo, redo, bar, linebreak,
link, image, bar, bold, italic, underline, strikethrough, bar, subscript, superscript, bar, orderedlist, unorderedlist, acronym, insertcharacter, line, bar, removeformat, chMode
)
# need to use one line! Just copy showButtons into one line!
toolbarOrder = blockstyle, formatblock, copy, cut, paste, pastebehaviour, pastetoggle, findreplace, bar, undo, redo, bar, linebreak, link, image, bar, bold, italic, underline, strikethrough, bar, subscript, superscript, bar, orderedlist, unorderedlist, acronym, insertcharacter, line, bar, removeformat, chMode
# added div element to default config
hidePStyleItems = pre,address,div
# 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 (
more,
pdf,
external-link,
lightbox,
special-text
)
# Configuration of the anchor accessibility feature (htmlArea RTE only)
# These classes should also be in the list of allowedClasses.
classesAnchor = more, more-button, external-link, modalbox, modalbox-big, company, exploration, oilgas
classesAnchor.default {
page =
url =
file =
mail =
}
}
# needed, otherwise enableWordClean wont work, regression, see http://forge.typo3.org/issues/19697
RTE.default.showButtons := addToList(cleanword)
RTE.default.toolbarOrder := addToList(cleanword)
# Use same processing as on entry to database to clean content pasted into the editor
RTE.default.enableWordClean.HTMLparser < RTE.default.proc.entryHTMLparser_db
# remove all classes so we have a clean start after pasting (allowed classed wont work on enableWordClean)
RTE.default.enableWordClean.HTMLparser.tags.p.fixAttrib.class.unset = 1
# make DAM usable in tt_news entries
RTE.config.tt_news.bodytext.proc.overruleMode = ts_css,txdam_media
TYPO3 htmlArea RTE configuration# ***************************************************************************************
# TYPO3 RTE processing rules for htmlArea RTE
#
# Author: Felix Nagel for Paints Multimedia GmbH, http://www.paints.de
# Info & DL: http://www.felixnagel.com/blog/kategorie/typo3/
# ***************************************************************************************
# Default RTE processing rules
RTE.default.proc {
# TRANSFORMATION METHOD
# We assume that CSS Styled Content and DAM is used.
overruleMode = ts_css, txdam_media
# TAGS ALLOWED OUTSIDE P & DIV
# add some more standard elements
allowTagsOutside = hr, address, ul, ol, li, img, table, object, embed, code, pre
entryHTMLparser_db {
tags {
# IMAGE TAGS (Extension Manager must be enabled, too)
img.allowedAttribs = style,class,id,src,width,height
img.rmTagIfNoAttrib = 1
# disable above and enable below to remove all images
# img.allowedAttribs = 0
# try to clean up Word crap (advise users to use clean copy button!)
# id is needed for RTE internal reasons
span.allowedAttribs = id
span.rmTagIfNoAttrib = 1
div.rmTagIfNoAttrib = 1
# add acronym
acronym.allowedAttribs = id, title, dir, lang, xml:lang, class
}
# 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.
# modify default config
removeTags = center, font, link, meta, o:p, sdfield, style, title, big, small
}
exitHTMLparser_db {
# remap some old tags
tags {
b.remap = strong
i.remap = em
s.remap = strike
}
}
}
# Make sure we use ts_css transformation
# add DAM
RTE.config.tt_content.bodytext.proc.overruleMode = ts_css, txdam_media
RTE.config.tt_content.bodytext.types.text.proc.overruleMode = ts_css, txdam_media
RTE.config.tt_content.bodytext.types.textpic.proc.overruleMode = ts_css, txdam_media
# needed for DAM media tag within tt_news
RTE.config.tt_news.bodytext.proc.overruleMode = ts_css, txdam_media
TYPO3 RTE processing rules for htmlArea RTE# Add tags to constants
styles.content.links.allowTags := addToList(abbr, acronym)
TYPO3 add tags to constants
Die Kommentarfunktion ist für diesen Artikel deaktiviert.
0 Kommentare