Hallo,
Meine TS-Config mit der das funktioniert ist diese:
# Um zu sehen welche Konfiguration für TS_CONIG gerade gilt geht man auf Web -> Info, wählt die erste Seite aus (also Root) und
# statt "Seitenbaumübersicht" im Dropdown Feld "Seiten-TSconfig"
####################################################################
#####################################################################
TCEFORM.tx_templavoila_tmplobj.rendertype.addItems.spezial = Spezialdarstellung
#####################################################################
# (kopie 1) wird beim kopieren nicht mehr angezeigt
TCEMAIN.table.tt_content {
disablePrependAtCopy = 1
}
#####################################################################
############################################################
############################################################
# mod.web_layout.defLangBinding = 1
mod.SHARED{
defaultLanguageFlag = at.gif
defaultLanguageLabel = Deutsch
}
############################################################
############################################################
#*** RTE Classe des Interface (Ausrichtung)
RTE.classes {
align-left {
# name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyleft
name = Linksbündig
value = text-align: left;
}
align-center {
# name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifycenter
name = Zentriert
value = text-align: center;
}
align-right {
# name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyright
name = Rechtsbündig
value = text-align: right;
}
fusszeile {
name = Fusszeile
value = text-size: 10px;
}
first-column {
name = Erste Spalte
}
odd {
name = Ungerade Zeile (1., 3., 5., ...)
}
even {
name = Gerade Zeile (2., 4., 6., ...)
}
}
RTE.classesAnchor {
# ******************************************
# EIGENE:
# ******************************************
internalLinkMetaEben {
class = MetaMenuItem
type = page
titleText = Interner Link zur Metaebene
}
# ******************************************
# DEFAULT:
# ******************************************
externalLink {
class = external-link
type = url
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_titleText
}
externalLinkInNewWindow {
class = external-link-new-window
type = url
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_titleText
}
internalLink {
class = internal-link
type = page
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_titleText
}
internalLinkInNewWindow {
class = internal-link-new-window
type = page
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_titleText
}
download {
class = download
type = file
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_titleText
}
mail {
class = mail
type = mail
titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_titleText
}
}
RTE.default {
contentCSS = /fileadmin/css/rte_styles.css
# useCSS
# (htmlArea RTE only)
#
# boolean
#
# Specifies that Mozilla/Firefox should use style attributes or not.
# When enabled, Mozilla/Firefox use span tags with style attributes
# rather than tags such as b, i, font, etc.
#
# Default: 0
# Wenn RTE.default.useCSS = 1 eingestellt ist macht:
# Firefox: <span style="font-weight: bold;">asdf</span>
# <p style="font-weight: bold;">asd</p>
# Safari: <b>asdf</b>
useCSS = 0
# zeige alle CSS-Klassen die in style_rte.css vorhanden sind im RTE an
#(Dropdown-Box - Absatz)
# showTagFreeClasses = 1
# Verwende im RTE den benutzerdefinierten Stylsheet und ueberschreibe die
# vorgegebenen Standardformateierungen des RTE
# ignoreMainStyleOverride = 1
# Man könnte die Klassen (inklusive der Default-Klassen) explizit definieren.
# classesLinks = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail
# classesAnchor = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail, internal-link-alternative
# Besser ist allerdings wenn man es so macht:
classesAnchor := addToList(MetaMenuItem)
classesTD = first-column, fusszeile, align-left, align-center, align-right, align-justify, valign-top, valign-middle, valign-bottom
classesTR = odd, even
classesParagraph = kleineSchrift, fusszeile
# Tabellen Optionen in der RTE Toolbar
hideTableOperationsInToolbar = 0
keepToggleBordersInToolbar = 1
# Tabellen Editierungs-Optionen aktivieren
disableSpacingFieldsetInTableOperations = 0
disableAlignmentFieldsetInTableOperations = 0
disableColorFieldsetInTableOperations = 0
disableLayoutFieldsetInTableOperations = 0
disableBordersFieldsetInTableOperations=0
enableWordClean = 1
disableEnterParagraphs = 0
showButtons (
textstylelabel, textstyle,
blockstylelabel, blockstyle,
bold, italic, underline, subscript, superscript, left,
center, right, justifyfull, orderedlist, unorderedlist,
link, removeformat, copy, cut, paste,
undo, redo, showhelp,
inserttag, acronym,
chMode, inserttag, formatblock, strikthrough, insertcharacter, line,
)
hideButtons (
emoticon, textcolor, bgcolor, user,
fontstyle, fontsize, image, outdent, indent, lefttoright, righttoleft, findreplace, about, textindicator,
table, toggleborders, tableproperties, rowproperties,
rowinsertabove, rowinsertunder, rowdelete, rowsplit,
columninsertbefore, columninsertafter, columndelete,
columnsplit, cellproperties, cellinsertbefore,
cellinsertafter, celldelete, cellsplit, cellmerge,
)
#fontstyle, fontsize werden ins html geschrieben, deshalb rausgenommen
# Absatz-Formatierungen:
# ----------------------
# H1 sollte man eventuell aus semantischen Gründen rausnehmen (Überschrift Inhaltselemente ist schon H1). Voteil wenn es drinnen ist - man kann auch nach einem
# graphischen Element noch eine H1 machen.
#
# Ausgeblendet im Moment:
# PRE ... Vorformatiert
# BLOCKQUOTE ... Zitat
# DIV ... Behälter
# ADDRESS ... Adresse
# H4 ... Überschrift 4
# H5 ... Überschrift 5
# H6 ... Überschrift 6
#
# hidePStyleItems ist die alte Variante zum Verbergen von Absatz-Formaten. Bug in diesem Zusammenhang: "0007857: hidePStyleItems does not work anymore"
# hidePStyleItems = PRE, BLOCKQUOTE, DIV, ADDRESS, H4, H5, H6
buttons.formatblock.removeItems = PRE, BLOCKQUOTE, DIV, ADDRESS, H4, H5, H6
#Für sauberes html rausgenommen
hideTags = font, font (full)
showStatusBar = 1
###############################################################################
# RTE.default.proc - ist ein Objekt, das die Konfiguration für die
# Transformation des Inhaltes zwischen RTE-Feld und Datenbank
# beinhaltet. Die Konfigurationsoptionen gelten für alle in
# TYPO3 verwendbaren RTEs und werden über die Klasse
# t3lib_parsehtml_proc gesteuert.
###############################################################################
proc {
// TRANSFORMATION METHOD - Überschreibe CSS Angaben aus dem TypoScript
overruleMode = ts_css
// LINES CONVERSION - br wird nicht zu p konvertiert
dontConvBRtoParagraph = 1
// TAGS ALLOWED OUTSIDE P & DIV
allowTagsOutside = img, hr
// TAGS ALLOWED
allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, 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, div
// ALLOWED P & DIV ATTRIBUTES - Erlaubte Attribute in p, div Tags
keepPDIVattribs = align, class, style
###############################################################################
# HTML Parser Einstellungen - Inhalt ins Frontend
###############################################################################
// CONTENT TO RTE
HTMLparser_rte {
// TAGS ALLOWED
allowTags < RTE.default.proc.allowTags
removeTags < RTE.default.proc.denyTags
# removeTags = font
// DO NOT REMOVE UNMATCHED TAGS
keepNonMatchedTags = 0
}
###############################################################################
# Speichere in Datenbank - Inhalt in die Datenbank
###############################################################################
entryHTMLparser_db = 1
entryHTMLparser_db {
## tags die erlaubt/verboten sind
allowTags < RTE.default.proc.allowTags
denyTags < RTE.default.proc.denyTags
# transformBoldAndItalicTags = 1
# removeTags = center, font, link, meta, o:p, sdfield, strike, title, style
rmTagIfNoAttrib = div, font
# wenn das auf 1 ist wird nicht mehr erlaubt. Also aus & wird & oder aus " wird "
htmlSpecialChars = 0
## align attribute werden erlaubt
tags {
# p.fixAttrib.align.unset >
# p.allowedAttribs = id, title, dir, lang, xml:lang, class, align, style
# p.allowedAttribs.addToList(style)
# span.fixAttrib.style.unset >
# span.allowedAttribs = style
div.fixAttrib.align.unset >
hr.allowedAttribs = class
}
}
# http://typo3.sfroemken.de/typo3-tutorials/rte/weitere-beispiele/b-und-i-zu-strong-und-em.html
# Der RTE kann zwar strong-Bereiche anzeigen, aber der Button zum Fett machen kann nur b-Tags verarbeiten. Genau so auch der Button für kursiv. Dieser
# kann nur i-Tags verarbeiten...nicht aber em-Tags.
# In der Transformation vom RTE zum Datenbank werden alle strong-Tags automatisch in b-Tags umgewandelt. Das könnt Ihr mit dem Code-Button mal selbst
# ausprobieren. Heißt: Wenn ich wie im oberen Beispiel den entryHTMLparser_db verwende. Dann habe ich zwar mein strong aber durch die Transformation
# landet wieder ein b-Tag in der Datenbank. Also müssen wir auf den exitHTMLparser_db umsteigen. Hier können die Ausgaben der Transformation nochmals
# nachbearbeitet werden.
# Wenn ich meinen Datensatz allerdings erneut öffne, dann landet ein strong-Tag im RTE. Wie ich oben bereits erklärt habe, kann der RTE strong zwar
# anzeigen nicht aber mit den Buttons verarbeiten. Also müssen wir mit einem zweiten HTMLparser den strong-Tag aus der Datenbank wieder in einen b-Tag
# konvertieren.
exitHTMLparser_db = 1
exitHTMLparser_db {
# allowTags = p,b,i,strong,em,blockquote,pre,h1,h2,h3,h4,h5,h6,span,div,address
allowTags < RTE.default.proc.allowTags
denyTags < RTE.default.proc.denyTags
tags {
b.remap = strong
i.remap = em
}
}
exitHTMLparser_rte = 1
exitHTMLparser_rte {
# allowTags = p,b,i,strong,em,blockquote,pre,h1,h2,h3,h4,h5,h6,span,div,address
allowTags < RTE.default.proc.allowTags
denyTags < RTE.default.proc.denyTags
tags {
strong.remap = b
em.remap = i
}
}
}
}
RTE.config.tt_content.bodytext {
# Muss definiert werden, sonst wird das in der Datenbank nicht abgespeichert.
proc.allowedClasses = roteSchrift, kleineSchrift, fusszeile
classesCharacter = roteSchrift, kleineSchrift, fusszeile
classesParagraph = roteSchrift, kleineSchrift, fusszeile
}
# Falsch oder veraltet?!
#RTE.default {
# classesParagraph = addToList(zitat)
# proc.allowedClasses = addToList(zitat)
#
# # siehe oben ausführlich
# classesCharacter = addToList(zitat. roteSchrift)
# classesCharacter = roteSchrift, sehrGross
#
# classesImage = blauerRand, 10pxAbstand
# classesAnchor = intern, extern, mailto
#
# # Erlaubte span Klassen aus der CSS-Datei (span wird somit nicht wegparsed)
# tt_content.bodytext.proc.allowedClasses = zitat, roteSchrift, sehrGross
#}
#*** RTE Farben (Ausrichtung)
# Farbe aus vordefiniertem Farbverlauf deaktivieren
RTE.default.disableColorPicker = 1
# Benutzerdefinierte Farben erstellen
RTE.default.disableSelectColor = 0
RTE.colors {
grau {
name = Tabellen Überschrift
value = #DDDDDD
}
blau {
name = Standard Farbe
value = #4C6A90
}
frenken {
name = Std. Frenkendorf
value = #7B95BA
}
stein {
name = Std. Münchenstein
value = #94AEC9
}
}
# RTE.default.colors = grau, blau, frenken, stein
#####################################################################
# Rahmen abschalen / Frame (neues Feld im root_setup.ts)
# TCEFORM.tt_content.section_frame {
# removeItems = 1,5,6,10,11,12,20,21
# }
# neuen Rahmen hinzufuegen
# TCEFORM.tt_content.section_frame {
# addItems.100 = Produkt drucken
# addItems.110 = Normale Box
# addItems.120 = Kleine Box
# addItems.130 = Keine Box
#}
#####################################################################
# FCE für das Frontendediting aktivieren
mod.wizards.newContentElement.wizardItems.special.elements.fce {
icon = gfx/c_wiz/div.gif
title = Flexible Content Element
description = Specially developed Content Element
tt_content_defValues {
CType = templavoila_pi1
tx_templavoila_to = 3
tx_templavoila_ds = 3
}
}
mod.wizards.newContentElement.wizardItems.special.show := addToList(fce)
Die /fileadmin/css/rte_styles.css dazu schaut so aus:
/* Aktivieren falls im RTE für den Newsletter eigene Styles verwendet werden sollen */
/* @import url(newsletter_rte_styles.css); */
/*
.external-link-new-window a,
.mail a,
*/
/* !General */
/* ---------------------------------------------------------------------- */
td.fusszeile,
p.fusszeile {
font-size : 10px;
}
/* Hintergrundfarbe für den RTE-Editor */
.htmlarea-content-body,
.htmlarea-content-body p {
background-color : #C2FFC2; /* #FFFFFF; */
}
body, /* Schriftfarbe für den RTE-Editor beim erstmaligen Editieren eines Elementes - zu diesem Zeitpunkt verwendet der RTE-Editor noch kein P-Tag */
td,
li,
p,
.bodytext,
.lauftext {
font-size:11px;
font-style:normal;
line-height:15px;
font-weight:normal;
font-variant:normal;
text-transform:none;
color:#70717d;
text-decoration:none;
padding-top:0;
padding-bottom:0;
padding-left:0;
padding-right:0;
margin-top:0;
margin-bottom:0;
margin-left:0;
margin-right:0;
}
.csc-firstHeader,
h1,
.headline {
color: #ff0080;
font-size: 21px;
line-height:normal;
font-style:normal;
font-weight: normal;
font-variant:normal;
text-transform:none;
padding: 0px;
margin-top:0;
margin-bottom:8px;
margin-left:0;
margin-right:0;
text-decoration:none;
text-align:left;
}
h2 {
font-size: 18px;
font-style:normal;
line-height:normal;
font-weight:bold;
font-variant:normal;
text-transform:none;
color:#006ab3;
text-decoration:none;
}
h3 {
font-size:11px;
font-style:normal;
line-height:normal;
font-weight:bold;
font-variant:normal;
text-transform:none;
color:#006ab3;
text-decoration:none;
}
h4 {
font-size:11px;
font-style:normal;
line-height:normal;
font-weight:bold;
font-variant:normal;
text-transform:none;
color:#006ab3;
text-decoration:none;
}
h5 {
font-size:11px;
font-style:normal;
line-height:normal;
font-weight:bold;
font-variant:normal;
text-transform:none;
color:#70717d;
text-decoration:none;
}
h6 {
font-size:9px;
font-style:normal;
line-height:normal;
font-weight:normal;
font-variant:normal;
text-transform:none;
color:#70717d;
text-decoration:none;
padding-top:0;
padding-bottom:0;
padding-left:0;
padding-right:0;
margin-top:0;
margin-bottom:0;
margin-left:0;
margin-right:0;
}
/* !Links */
/* ---------------------------------------------------------------------- */
a,
a:link,
a:visited,
a:active {
font-size:11px;
font-style:normal;
line-height:15px;
font-weight:normal;
font-variant:normal;
text-transform:none;
color:#70717d;
text-decoration:underline;
}
a:hover {
color:#006ab3;
text-decoration:underline;
}
a:focus {
outline:none;
}
/* !More */
/* ---------------------------------------------------------------------- */
td.first-column,
.td.first-column {
width:60px;
background-color:#FF0000;
}
td.align-left,
p.align-left {
text-align:left;
/*
padding-top : 0px;
padding-bottom : 0px;
padding-left : 0px;
padding-right : 0px;
margin-top : 0px;
margin-bottom : 0px;
margin-left : 0px;
margin-right : 0px;
*/
}
td.align-center,
p.align-center {
text-align:center;
}
td.align-right,
p.align-right {
text-align:right;
}
td.valign-top {
vertical-align:top;
}
td.valign-middle {
vertical-align:middle;
}
td.valign-bottom {
vertical-align:bottom;
}
.contenttable {
border:0;
width:100%;
}
/*
Die Klasse .contenttable wird erst im Frontend hinzugefügt.
Deshalb muss hier auch td (für das Backend angegeben werden)
Die klasse td wird in styles.css für das Frontend wieder überschrieben
mit padding : 0px !important;
*/
td,
.contenttable td {
padding:2px;
vertical-align:top;
}
.contenttable td {
border:1px solid #ECECEC;
/*
vertical-align : top;
line-height : 16px;
*/
}
tr.odd,
.tr-odd {
}
tr.even,
.tr-even {
background-color:#F4F4F4;
}
.contenttable thead tr,
.contenttable thead tr .bodytext,
.tr-0,
.contenttable .tr-0 td {
background-color:#F4F4F4;
font-weight:bold;
/*
color : #FFFFFF;
*/
}
.td-0 {
}
.td-1 {
}
.td-last {
}
.td-2 {
}
.tr-1 {
}
.td-0 {
}
.td-1 {
}
.td-last {
}
.td-2 {
}
.tr-even {
}
.tr-2 {
}
.td-0 {
}
.td-1 {
}
.td-last {
}
.td-2 {
}
span.roteSchrift {
color:#FF0000;
}
span.sehrGross {
font-size:300%;
}
p.kleineSchrift,span.kleineSchrift {
font-size:80%;
/*
font-size : 0.8em;
*/
}
.internal-link-alternative-farbe {
color:darkgreen!important;
}
Gruss,
Philipp