Zum Inhalt springen

htmlarea / RTE (Konfiguration) - so gehts

Erstellt am 21. März 2006 · 191 Antworten · letzte Antwort am 28. Februar 2013 · Seite 2 von 10

Tags: Tipp

ms_k ·

Ich seh das doch aber richtig, dass ich den tsconfig-code unter Root-Seite -> Seitentitel-Bearbeiten -> TSConfig

ne - hört sich gut an 😉 , da hab ich es auch hin gepackt

pixelrolf ·

hallo,

und danke erstmal Karin für die Mühe 🙂

Das Einbinden einer externen CSS Datei klappt leider noch nicht. Daher versuche ich mal systematisch vorzugehen. Im Seiten TSconfig steht zunächst noch gar nichts.

Die Datei fileadmin/projekt1/css/rte_css.css soll eingebunden werden.

RTE.default {
  contentCSS = fileadmin/projekt1/css/rte_css.css
}

Es werden aber weder die Formatierungen aus der CSS-Datei übernommen, noch kann ich im Quellcode erkennen, dass die Datei eingebunden wird. Ist der Pfad viell. nicht richtig? Hab schon zig Varianten durchprobiert.

Die Methode über mainStyleOverride_add.H1 = ... usw. funktioniert zwar, finde ich aber nicht so praktisch.

Welche Einträge benötigt man noch zusätzlich um zunächst mal nur die CSS-Datei zu 'finden'. Müssen noch explizit Tags zugelassen werden?

danke schon mal,
lg rolf
🙂

typo_3_newbie ·

Hallo, Rolf,

Die Lösung Deines Problems ist wahrscheinlich, dass Du in Deine "Haupt"-CSS-Datei ganz oben folgende Zeile einfügen musst:

@import url("rte_css.css");

Je nachdem, wo Du Deine Haupt-CSS-Datei liegen hast, musst Du evtl. noch den Pfad ergänzen (fileadmin/projekt1/css/rte_css.css). wahrscheinlich liegt Deine rte_css aber im selben Verzeichnis und Du kannst mein Bsp. direkt verwenden.

Warum?

RTE.default {
contentCSS = fileadmin/projekt1/css/rte_css.css
}

Bringt nur dem RTE die CSS-Formate bei, damit dieser die Formate verwenden kann.
Dein Front-End weiss nichts von der CSS-Datei. Bzw. hasst Du diese mit TypoScript nicht eingebunden.

Daher ist es die einfachste Möglichkeit die rte_css.css über Dein Haupt-Template zu importieren.

Ich hoffe das hilft...

Achim

[/quote]

tschinschiri ·

Ich hab es also auch noch geschaft den TS text ans rechte Ort zu schreiben. Habe nun aber noch ein Weiteres problem. Wenn ich den RTE fürs FE editiert habe und dan dem BE-Benutzer weitere rechte zuschreiben will akzeptiert er mir diese nicht. Hat da jemand eine Idee was da faul sein könnte?

Hab im TS auch options.RTEkeyList = stehen wie im Post von Sandra auf seite 2 steht...

BE und FE Cash geleert ab und an gemeldet funkt nicht...

Danke für eure Tips. #paralyzed#

pixelrolf ·

Hallo typo_3_newbie,
danke, aber ich fürchte hier handelt es sich um ein Missverständnis. 🙂
Die CSS-Datei ist schon für die Einstellungen im Backend gedacht.
So wie ich das verstehe kann man mit RTE.default.contentCSS eine externe Stylesheetdatei einbinden, klappt aber leider nicht.

lg
rolf

toyde ·
pixelrolf schrieb

So wie ich das verstehe kann man mit RTE.default.contentCSS eine externe Stylesheetdatei einbinden, klappt aber leider nicht.

Oben ist das CSS für den RTE definiert, das siehst Du richtig.

Und so wird für eine Website/ für ein Layout ein Stylesheet eingebunden [constants].

content.stylesheet.file = fileadmin/style.css

Verstehe nicht wieviele Styles Du neben diesen beiden Optionen noch benötigst.

pixelrolf ·
toyde schrieb

Oben ist das CSS für den RTE definiert, das siehst Du richtig.

Ich benötige genau diese Option für den RTE. Aber genau die funktioniert ja eben nicht.

Im Quelltext (des Backends) sehe ich, dass die Datei ' ... /typo3/stylesheet.css' eingebunden ist. Die Datei die ich einbinden will, erscheint da noch nicht einmal (im Quelltext)
;-).

grüße,
rolf

typo_3_newbie ·

Hallo, Rolf,

also, Du hast im Backend einen Seiteninhalt zum editieren (mit dem rte(htmlarea)) geöffnet und suchst jetzt in dem Quelltext der Backend-"Webseite" Deine eingebundene "rte_css.css"...?

Bei mir finde ich es ca. in der 5. Zeile nach dem Body-Tag:

<body onmousemove="GL_getMouse(event);" onload="initLayer();" id="typo3-alt-doc-php">

<!-- Wrapping DIV-section for whole page BEGIN -->
<div class="typo3-mediumDoc">
<form action="/typo3/alt_doc.php?&returnUrl=%2Ftypo3%2Fsysext%2Fcms%2Flayout%2Fdb_layout.php%3Fid%3D5&edit[tt_content][1]=edit" method="post" enctype="multipart/form-data" name="editform" onsubmit="return TBE_EDITOR_checkSubmit(1);">
<link rel="alternate stylesheet" type="text/css" href="http://meinedomain/fileadmin/rte_formate.css" />

Da steht bei Dir keins?

Tsconf/FE Cache leeren schon probiert?
welcher Browser? meinen "Browser-Cache"-Tip für den IE aus diesem Thread schon probiert?

PS: Es funktioniert auch mit der Version 1.3.7 und Typo3 4.0 final...

Achim

chris_m ·

Testweise habe ich die Config aus dem ersten Beitrag in meine TSconfig (Setup) eingefügt und eine entsprechende CSS-Datei hochgeladen.

Leider hat dies überhauptkeine Auswirkungen auf htmlarea, als Textformate stehen wie gehabt nur <important>, <name-of-person> und <detail> zur Auswahl, also die Standardwerte, die auch ohne TSConfiguration angezeigt werden.

Schalte ich in den Demo-Mode wird nur die Standard-Demo-Konfiguration angezeigt.

D.h. der RTE scheint jegliche Einstellung im Template/TSConfig komplett zu ignorieren.

Mein System: Typo3 4.0 und htmlarea 1.3.7

Liberation ·

Hi habe das alles auch wunderbar konfiguriert nur eins stört mich noch...

Hinter der Schaltfläche "TEXT" Stehen nun alle extra Styles 2 mal.

TEXT: underline, <underline> usw.
wie kann ich das <underline> da jetzt noch ausblenden?

pixelrolf ·

Hallo Achim,
danke für die Mühe.

typo_3_newbie schrieb

also, Du hast im Backend einen Seiteninhalt zum editieren (mit dem rte(htmlarea)) geöffnet und suchst jetzt in dem Quelltext der Backend-"Webseite" Deine eingebundene "rte_css.css"...?

Bei mir finde ich es ca. in der 5. Zeile nach dem Body-Tag:
Da steht bei Dir keins?

Tsconf/FE Cache leeren schon probiert?
welcher Browser? meinen "Browser-Cache"-Tip für den IE aus diesem Thread schon probiert?

Genau, endlich versteht mich einer ;-)
Im Quelltext wird keine CSS Datei eingebunden, da steht bei mir:

<body onmousemove="GL_getMouse(event);" onload="initLayer();" id="typo3-alt-doc-php">

<!-- Wrapping DIV-section for whole page BEGIN -->
<div class="typo3-mediumDoc">
<form action="/typo3/dummy-3.8.0/typo3/alt_doc.php?&returnUrl=%2Ftypo3%2Fdummy-3.8.0%2Ftypo3%2Fsysext%2Fcms%2Flayout%2Fdb_layout.php%3Fid%3D15&edit[tt_content][37,]=edit" method="post" enctype="multipart/form-data" name="editform" onsubmit="return TBE_EDITOR_checkSubmit(1);">


		<!--
			JavaScript in top of page (before form):
		-->

		<script type="text/javascript">

usw...

Tsconf/FE Cache geleert und auch den IE6 Cache, dateien, Cookies, alles. Ich verwende Typo3 3.8 und RTE.
Aber schon mal gut zu wissen, dass die CSS Datei - wenn, dann an dieser Stelle eingebunden wird. Ist wie verhext ;-)

gruß,
rolf

sopinon ·

Hi all,

Bin auch gerade am customizing meines HTMLarea editors...

Habe die Konfiguration von Karin als Vorlage genommen (Danke übrigens). Klappt eigentlich ganz, doch habe ich etwas Probleme mit meinen DIV-Tags.

Ich würde gerne so etwas realisieren:

<div style="padding-top:10px; padding-bottom:10px;">
  <table .....
  </table>
</div>

Doch wenn ich dies mittels dem Sourcecode button implementiere und speichere, so wird der Code folgendermassen umgewandelt:

<p style="padding-top:10px; padding-bottom:10px;"> </p>
  <table .....
  </table>

Und das kann ich nicht wirklich gebrauchen! 🙁 Welche Einstellungen (Config) benötigt der RTE Editor, damit diese DIV Tags stehen bleiben?

Danke für eure Antworten! Grüsse aus der Schweiz...

ms_k ·

Hallo Liberation,

würde jetzt vermuten das noch classes / paragraphen definitionen irgendwie doppelt in deiner TsConfig drin sind. Post sie doch einfach mal.

Grüße
Karin

Liberation ·

Nee dran liegt es nicht habe alles mögliche durchprobiert...
sobald man:
## zeigt alle CSS-Klassen die in formate.css vorhanden sind
showTagFreeClasses = 1

setzt sind bei der RTE spalte TEXT alle classen doppelt vorhanden.(bewirken tun sie das selbe)
ist einfach irgendwie ein Schönheitsfehler...

Liberation ·

Hi,
habe den fehler jetzt doch gefunden...
css datei war schult ahtte für alle classen jeweils auch ein:
.underline {
text-decoration: underline;
}
usw. drin.

beispiel css...
.csc-frame-indent {
padding-left: 100px;
}
.csc-frame-indent3366 {
padding-left: 33%;
}
.csc-frame-indent6633 {
padding-right: 33%;
}
.align-left {
text-align: left;
}
.align-center {
text-align:center;
}
.align-right {
text-align:right;
}
.formatblock {
text-align:justify;
}
span.red-text {
color: red;
}
span.blue-text {
color: blue;
}
span.yellow-text {
color: yellow;
}
span.csc-frame-indent {
padding-left: 100px;
}
.csc-frame-indent3366 {
padding-left: 33%;
}
.csc-frame-indent6633 {
padding-right: 33%;
}
.align-left {
text-align: left;
}
.align-center {
text-align:center;
}
.align-right {
text-align:right;
}
.formatblock {
text-align:justify;
}
span.red-text {
color: red;
}
span.blue-text {
color: blue;
}
span.yellow-text {
color: yellow;
}
span.white-text {
color: white;
}
span.important {
color: red;
font-weight:bold;
}
span.underline {
text-decoration: underline;
}
span.important {
color: red;
font-weight:bold;
}
span.csc-frame-indent {
padding-left: 100px;
}
.csc-frame-indent3366 {
padding-left: 33%;
}
.csc-frame-indent6633 {
padding-right: 33%;
}
.align-left {
text-align: left;
}
.align-center {
text-align:center;
}
.align-right {
text-align:right;
}
.formatblock {
text-align:justify;
}
span.red-text {
color: red;
}
span.blue-text {
color: blue;
}
span.yellow-text {
color: yellow;
}
span.white-text {
color: white;
}
span.important {
color: red;
font-weight:bold;
}
span.underline {
text-decoration: underline;
}

ms_k ·

hehe - zwar keine doppelten in der Tsconfig aber in der CSS 😉

Freut mich das es jetzt funktioniert

Muckster ·

Habe auch so mein Probleme mit der Konfiguration des HTMLArea... #angry#

Leider bekomme ich nicht die Absatz- und Text-Formatierungen angezeigt. Die beiden Pulldowns sind immer disabled, auch nach markieren von Text.

Ich poste mal mein TS-Setup der Root Seite, bin für jeden Tipp dankbar (auch wen ihr andere Fehler seht):

### Spalten ausblenden ###
TCEFORM.tt_content.colPos.removeItems = 1,2,3
mod.SHARED.colPos_list = 0

###RTE:###

## Anchor classes configuration for use by the anchor accessibility feature
RTE.classesAnchor {
	externalLink {
		class = external-link
		type = url
		image = fileadmin/templates/htmlarea/img/external_link.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_titleText
	}
	externalLinkInNewWindow {
		class = external-link-new-window
		type = url
		image = fileadmin/templates/htmlarea/img/external_link_new_window.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:external_link_new_window_titleText
	}
	internalLink {
		class = internal-link
		type = page
		image = fileadmin/templates/htmlarea/img/internal_link.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_titleText
	}
	internalLinkInNewWindow {
		class = internal-link-new-window
		type = page
		image = fileadmin/templates/htmlarea/img/internal_link_new_window.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:internal_link_new_window_titleText
	}
	download {
		class = download
		type = file
		image = fileadmin/templates/htmlarea/img/download.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:download_titleText
	}
	mail {
		class = mail
		type = mail
		image = fileadmin/templates/htmlarea/img/mail.gif
		altText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_altText
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Browsers/locallang.xml:mail_titleText
	}
}

### RTE Classe des Interface (Ausrichtung)  ###
RTE.classes {
	align-left {
		name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyleft
		value = text-align: left;
	}
	align-center {
		name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifycenter
		value = text-align: center;
	}
	align-right {
		name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyright
		value = text-align: right;
	}
}

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

### RTE Standard-Config ###
RTE.default {
  ## Zuweisung der CSS-Datei
  contentCSS = fileadmin/templates/htmlarea/htmlarea-edited-content.css
	
	## Markup options
	enableWordClean = 1
	removeTrailingBR = 1
	removeComments = 1
	removeTags = center, sdfield
	removeTagsAndContents = style,script
	
	# Buttons die gezeigt/versteckt werden
	showButtons = chMode, textstyle, textstylelabel, blockstyle, blockstylelabel, bold, italic, underline, left, center, right, orderedlist, unorderedlist, insertcharacter, line, link, image, removeformat, table, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge, findreplace, insertcharacter, undo, redo, showhelp, copy, cut, paste
	hideButtons = fontstyle, formatblock, fontsize, strikethrough,lefttoright, righttoleft, textcolor, bgcolor, textindicator, emoticon, user, spellcheck, inserttag, outdent, indent, justifyfull, subscript, superscript, acronym, about

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

	# blendet Statusbar in htmlarea aus
	showStatusBar =  0

	## Add styles Left, center and right alignment of text in paragraphs and cells.
	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; }
	)

  # Classes für Links (These classes should also be in the list of allowedClasses)
  classesAnchor = external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail
  classesAnchor.default {
		page = internal-link
    url = external-link-new-window
    file = download
    mail = mail
  }
	
  # Classes: Ausrichtung
  classesParagraph (
    align-left, align-center, align-right, box1
  )

  # Classes: Eigene Stile
  classesCharacter = headline
  classesImage= rte_image
	
  # Do not allow insertion of the following tags
  hideTags = font
	
  # Tabellen Optionen in der RTE Toolbar
  hideTableOperationsInToolbar = 0
  keepToggleBordersInToolbar = 1
	
  # Tabellen Editierungs-Optionen (cellspacing/ cellpadding / border)
  disableSpacingFieldsetInTableOperations = 1
  disableAlignmentFieldsetInTableOperations = 0
  disableColorFieldsetInTableOperations = 1
  disableLayoutFieldsetInTableOperations = 1
  disableBordersFieldsetInTableOperations = 0
	
	# FE RTE configuration (htmlArea RTE only)
	FE < RTE.default
	FE.userElements >
	FE.userLinks >
	
  ## Use same processing as on entry to database to clean content pasted into the editor
  enableWordClean.HTMLparser < RTE.default.proc.entryHTMLparser_db

	### Customization of the server processing of the content - also called 'transformations'
  proc {
		# 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 = align,class,style,id
	
    # List all class selectors that are allowed on the way to the database
    allowedClasses (
      external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
      align-left, align-center, align-right, box1
    )   

    # html parser einstellungen
    HTMLparser_rte {
			# tags die erlaubt/verboten sind
			allowTags < RTE.default.proc.allowTags
			denyTags < RTE.default.proc.denyTags

			# tags die untersagt sind
			removeTags = font

			# entfernt html-kommentare
			removeComments = 1

			# tags die nicht übereinstimmen werden nicht entfernt (protect / 1 / 0)
			keepNonMatchedTags = 0
    }

    # Content to database
    entryHTMLparser_db = 1
    entryHTMLparser_db {
			# tags die erlaubt/verboten sind
			allowTags < RTE.default.proc.allowTags
			denyTags < RTE.default.proc.denyTags

			# CLEAN TAGS
			noAttrib = b, i, u, strike, sub, sup, strong, em, quote, blockquote, cite, tt, br, center

			rmTagIfNoAttrib = span,div,font

			# htmlSpecialChars = 1

			# align attribute werden erlaubt
			.tags {
				p.fixAttrib.align.unset >
				p.allowedAttribs = class,style,align
	
				div.fixAttrib.align.unset >
	
				hr.allowedAttribs = class
	
				# b und i tags werden ersetzt (em / strong)
				b.remap = strong
				i.remap = em
	
				# img tags werden erlaubt
				img >
			}
    }
  }
}

Und hier meine CSS, die eingebunden ist:

/* Selectors for the content area of the htmlArea RTE editor */
.htmlarea-content-body {
	font-family: Arial, Helvetica, sans-serif;
	font-size:12px;
	color: #555555;
	margin:0;
	padding:3px;
	background-color:#ffffff;
}

/* Selectors for the Table Operations plugin */
/* Make borders visible */
/* Make sure we can click in empty cells without too much difficulty */
.htmlarea-showtableborders, .htmlarea-showtableborders td, .htmlarea-showtableborders th {
	padding: 3px; border:1px dashed #316ac5 ! important;
}

/* Selectors for the Abbreviation plugin */
abbr, acronym, span.abbr {
 	width:18px;
 	height:18px;
	background-image:url("images/Acronym/ed_acronym.gif");
	background-repeat:no-repeat;
	background-position:left top;
	white-space:nowrap;
	cursor:help;
	border-bottom:1px dashed #000;
	padding-left:19px;
}

/* styles */
h1 {
	FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-WEIGHT: bold; COLOR: #000000; margin-bottom: 6px
}

H1, H2, H3, H4, H5, P, TD, UL, OL, BLOCKQUOTE, INPUT, TEXTAREA, SELECT { font-family: Arial, Helvetica, sans-serif; } 
PRE { font-family: monospace; }
P, PRE { margin: 0px 0px 0px 0px; }
P, TD, UL, OL { font-size: 11px; }
img (margin: 8px 0px)
P { font-size: 11px; color: #555555; }
P A { font-weight: bold; }
img {border: 0px}

.headline {
	font-family: Arial, Helvetica, sans-serif;	font-size: 14px; color: red;
}

.box1 {
	background-color: #DDDDDD; 
	border: 1px solid #555555; 
	padding: 5px;
	margin-bottom: 12px;
}