Moin an Alle!
Hoffe, Ihr könnt einem RTE-noob weiterhelfen. Habe schon einige threads hier und auch in anderen Foren abgearbeitet, ebenso das manual für den RTE, bin aber noch auf keinen grünen Zweig gekommen.
Das Problem:
Unter Typo3 4.2.5 mit dem RTEhtmlarea 2.1.6 habe ich es nach langem Gemurkel geschafft, eigene CSS-Klassen einzubinden. Die entsprechenden tags (p, span) werden auch korrekt ausgezeichnet in der Datenbank gespeichert - wenn ich das entsprechende Inhaltselement speichere und wieder aufmache, bleibt meine css-Formatierung erhalten und auch wenn ich mir die HTML-Ansicht im RTE anschaue, finde ich meine tags so wieder, wie ich das gerne hätte.
Nur: Im Frontend wird nix dergleichen gerendert. Hinter den p-tags steht dann wieder class='bodytext', die span-Tags verschwinden ganz, was ja aufgrund von
rmTagIfNoAttrib = span,div,font
auch logisch wäre, wenn die css-Klassen verschütt gehen.
Bestimmt habe ich irgendein 'allow' oder so was für meine css-Klassen vergessen, aber ich weiß nicht, wie ich das TS anpassen muss, damit es klappt.
Hier meine TS-Config, basierend auf http://ug.typo3-nrw.de/typo3-dynamic_css.html :
RTE.default.contentCSS = fileadmin/backend/css/rte.css
RTE.default.useCSS = 1
RTE.default.enableWordClean = 1
RTE.default.disableEnterParagraphs = 0
# disable unnecessary buttons
RTE.default.showbuttons = *
RTE.default.hideButtons = fontstyle, fontsize, lefttoright, righttoleft
# disable h1 because page title is h1 already
RTE.default.hidePStyleItems = h1
# configure rte.default
RTE.default.showTagFreeClasses = 1
RTE.default.classesPararaph = artikeleileitung, align-left, align-center, align-right
RTE.default.classesCharacter = uppercase, smallcaps, spaced1px, spaced2px, important, name-of-person, detail
RTE.default.classesImage = hellgrauerRand
RTE.default.classesAnchor = intern, extern, mailto
RTE.config.tt_content.bodytext.proc.allowedClasses = artikeleinleitung, uppercase, smallcaps, spaced1px, spaced2px, important, name-of-person, detail, align-left, align-center, align-right, hellgrauerRand
RTE.default.showStatusBar = 1
# configure transformations
RTE.default.proc {
# TRANSFORMATION METHOD
overruleMode = ts_css
# LINES CONVERSION
dontConvBRtoParagraph = 1
# TAGS ALLOWED OUTSIDE P & DIV
allowTagsOutside = img,hr
# TAGS ALLOWED
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
# TAGS DENIED
denyTags = font
# ALLOWED P & DIV ATTRIBUTES
keepPDIVattribs = align,class,style
# CONTENT TO RTE
HTMLparser_rte {
# TAGS ALLOWED
allowTags < RTE.default.proc.allowTags
removeTags = font
# DO NOT REMOVE UNMATCHED TAGS
keepNonMatchedTags = 0
}
# CONTENT TO DATABASE
entryHTMLparser_db = 1
entryHTMLparser_db {
#XHTML COMPLIANCE
xhtml_cleaning = 1
#CLEAN TAGS
noAttrib = b, i, u, strike, sub, sup, strong, em, quote, blockquote, cite, tt, br, center
tags.hr.allowedAttribs = class
#REMAP B AND I TAGS
tags.b.remap = strong
tags.i.remap = em
rmTagIfNoAttrib = span,div,font
htmlSpecialChars = 1
}
}
Dazu meine css-Datei:
/* these classes to be shown in rte */
p.artikeleinleitung
{
text-transform : uppercase;
font-size : 1.2em;
line-height : 2em;
text-align : justify;
letter-spacing : 1px;
}
p.align-left
{
text-align : left;
}
p.align-center
{
text-align : center;
}
p.align-right
{
text-align : right;
}
span.uppercase
{
text-transform : uppercase;
}
span.smallcaps
{
font-variant : small-caps;
}
span.spaced1px
{
letter-spacing : 1px;
}
span.spaced2px
{
letter-spacing : 2px;
}
span.important
{
font-weight : bold;
font-style : italic;
}
span.name-of-person
{
text-transform : uppercase;
font-weight : bold;
}
span.detail
{
font-style : italic;
}
img.hellgrauerRand
{
border : 1px solid rgb(200,200,200);
padding : 10px;
background-color : rgb(245,245,245);
}
Ich nehme jeden zweckdienlichen Hinweis mit Jubel auf. Wenn es eine ganz einfache, vielzitierte Lösung gibt und ich nur zu doof war, sie zu finden - Schmutz und Dreck und kleine Steine über mich - aber bitte postet mir den Link dahin.
Vielen Dank erst mal!