Der RTE in der Extension
Dieser Bericht ist noch nicht fertig, aber grundsätzlich wird der RTE in der localconf.php konfiguriert. Hier eine Konfiguration, wie ich sie für ein kleineres Projekt eingesetzt habe:
t3lib_extMgm::addPageTSConfig('
#***************************************************************************************
# CONFIGURATION of RTE in table "tx_meine_extension", field "description"
#***************************************************************************************
RTE.classes >
RTE.classesAnchor >
RTE.classes {
subheader1 {
name = Subheader 1
value = font-weight: bold; font-size: 14px; color: #5F5F5F;
}
subheader2 {
name = Subheader 2
value = font-weight: bold; font-size: 12px; color: #5F5F5F;
}
}
RTE.classesAnchor {
internalLink {
class = internal-link
type = page
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_titleText
}
externalLink {
class = external-link
type = url
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_titleText
}
internalLinkNewWindow {
class = internal-link-new-window
type = page
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:internal_link_new_window_titleText
}
externalLinkNewWindow {
class = external-link-new-window
type = url
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:external_link_new_window_titleText
}
download {
class = download
type = file
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:download_titleText
}
email {
class = email
type = mail
titleText = LLL:EXT:rtehtmlarea/res/accessibilityicons/locallang.xml:mail_titleText
}
}
RTE.colors {
black {
name = Black
value = #000000
}
gray {
name = Gray
value = #5F5F5F
}
}
RTE.config.tx_meine_extension.description {
contentCSS = typo3conf/ext/meine_extension/res/rte.css
useCSS = 0
showButtons = blockstylelabel, blockstyle, formatblock, bold, italic, link, chMode, textstylelabel, textstyle, textcolor, unorderedlist
buttons {
formatblock {
removeItems = address, div, pre, blockquote, h1, h3, h4, h5, h6
}
}
enableWordClean = 1
keepButtonGroupTogether = 1
skin = EXT:t3skin/rtehtmlarea/htmlarea.css
removeTrailingBR = 1
removeComments = 1
showTagFreeClasses = 0
disableRightClick = 1
ignoreMainStyleOverride = 1
colors = black,gray
disableColorPicker = 1
classesParagraph = subheader1,subheader2,subheader3
classesCharacter = labelSmall,labelBig
classesAnchor = internal-link,external-link,internal-link-new-window,external-link-new-window,download,email
classesAnchor.default {
page = internal-link
url = external-link-new-window
file = download
mail = email
}
proc {
overruleMode = ts_css
allowTags = a,link,strong,p,br,h2,h3,span,div,ul,li
allowTagsOutside = img
allowedClasses < RTE.config.tx_meine_extension.description.classesParagraph
allowedClasses := addToList(labelSmall,labelBig)
allowedClasses := addToList(rte-ulist)
dontConvBRtoParagraph = 1
entryHTMLparser_db = 1
entryHTMLparser_db {
allowTags < RTE.config.tx_meine_extension.description.proc.allowTags
keepNonMatchedTags = 1
htmlSpecialChars = 0
tags {
h2.fixAttrib.class.list = subheader1,subheader2,subheader3
h2.fixAttrib.class.default = subheader1
ul.fixAttrib.class.default = rte-ulist
}
}
exitHTMLparser_db = 1
exitHTMLparser_db {
allowTags < RTE.config.tx_meine_extension.description.proc.allowTags
tags {
b.remap = strong
i.remap = em
}
htmlSpecialChars = 0
}
exitHTMLparser_rte = 1
exitHTMLparser_rte {
allowTags < RTE.config.tx_meine_extension.description.proc.allowTags
tags {
strong.remap = b
em.remap = i
}
htmlSpecialChars = 0
}
}
}
');