[TYPO3-german] Word-Formatierungen verbieten

Peter Linzenkirchner liste at lisardo.de
Fri Aug 22 16:56:52 CEST 2008


Hallo Bernd,

nochmals der Quellcode, etwas bereinigt. Die drei Klammern müssen  
sein ...  Ich habe folgende Schachtel:

RTE.default {
	proc {
		entryHTMLparser_db {
			tags {
				p {
					....
				}
			}
		}
	}
}

entryHTMLparser_db muss m. W. auch rein, sonst sollte tags gar nicht  
wirken, da das proc-Objekt selbst tags nicht kennt. entryHTMLparser_db  
wirkt - wenn ich das richtig verstehe - beim Übergang vom RTE in die  
Datenbank.




## Default RTE configuration

RTE.classes {
	# Blockstile
	  # ACHTUNG: wegen eines Fehlers in Safari _müssen_ die Klassen in
	  # konsequenter Kleinschreibung definiert werden!!

	  csc-frame-rulerbefore {
	    name = Linie davor
	    value =
	  }
	
	  # snip, sind unwichtig.
	  # Tabellenstile
	  # Textauszeichnungen
           # folgen.
}

## Linkdefinitionen

RTE.classesAnchor {
	externalLink {
		class = external-link
		type = url
		titleText = LLL:EXT:rtehtmlarea/htmlarea/plugins/TYPO3Link/
locallang.xml:external_link_titleText
	}
         # snip, sind unwichtig.
	
}


RTE.default {
	# bei mir unwichtig, aber wenn man Schriftauswahl zulässt,
	# verwendet Firefox damit CSS anstatt den font-Tag. Der IE
	# bleibt aber beim Font-Tag, insofern bringts eigentlich nichts.
	useCSS = 1
	# das folgende ist jetzt wichtig ...
	enableWordClean = 1
	removeTrailingBR = 1
	removeComments = 1
	removeTags = center, font, o:p, sdfield, strike, u
	removeTagsAndContents = style, script
	defaultLinkTarget =
     	
         # alle Buttons ein, danach alle unerwünschten
	# ausschalten.
	showButtons = *
	hideButtons (
		lefttoright, righttoleft, formattext, bidioverride, big,
		citation, definition, insertedtext, italic, keyboard,
		monospaced, sample, small, span, strikethrough,
		variable, user, bold, underline, fontstyle, fontsize,
		blockquote, insertparagraphbefore, insertparagraphafter,
		spellcheck, emoticon, inserttag, copy, cut, paste,
		justifyfull, textcolor, bgcolor,
		)
		
	## Button-Gruppen bilden
	keepButtonGroupTogether = 1
	## Statusbar - die ist genial.
	showStatusBar =  1
	## selten genutzte Tags in der Absatzpalette verbergen: ganz nach
	## Gusto :-)
	hidePStyleItems = pre,address,h5,h6,div
	## ignoriert alle InlineStyles => für externes Stylesheet.
	ignoreMainStyleOverride = 1
	# CSS-Datei für den RTE - einfach die Haupt-CSS-Datei übernehmen.
	# Bin zu faul für eine eigene CSS-Datei für den RTE
	contentCSS=fileadmin/css/screen/content.css


	proc {
		# jetzt folgen die Transformationsregeln, die beim Speichern wirken.
		# etliche sind überflüssig, da sie durch Typical bereits eingestellt
		# sind. Aber um nicht immer nachschauen zu müssen, werden sie
		# wiederholt.
		dontConvBRtoParagraph = 1
		preserveDIVSections = 1
		allowTagsOutside = hr, address
		# Da muss jetzt der span-Tag rein ...
		allowTags (
			a, abbr, acronym, address, blockquote, b, bdo, big, br, caption,
			center, cite, code, col,
			colgroup, del, dfn, div, em, h1, h2, h3, h4, h5, h6, hr, i, img,
			ins, kbd, li, link,
			ol, p, pre, q, samp, sdfield, small, span, strike, strong, sub,
			sup, table, thead, tbody, tfoot,
			td, th, tr, tt, u, ul, var,
			)
		# alle Klassen, die im RTE benutzt werden sollen, müssen hier
		# erlaubt werden, sonst werden sie beim Speichern
		# raustransformiert.
		allowedClasses (
			align-left,align-center,align-right,csc-frame-rulerbefore,
			csc-frame-rulerafter,
			csc-frame-indent,csc-frame-frame1,csc-frame-frame2,
			kleinertext, grossertext,
			contenttable-1,contenttable-2, layout
			external-link, external-link-new-window, internal-link,
			internal-link-new-window, download, mail,
			component-items, action-items,
			component-items-ordered, action-items-ordered,
			serifen, starkebetonung, betonung, hellgrau, dunkelgrau,
		)
		
		# OK, jetzt gehts ins Detail: Tag für Tag die passende
		# Transformationsvorschrift für den Übergang vom RTE in
		# die Datenbank.

		entryHTMLparser_db = 1
		entryHTMLparser_db {

		    tags {
		   	p {
		   		allowedAttribs = id, title, dir, lang, xml:lang, class
				# ok, raus mit align, veraltet
		   		fixAttrib.align.unset = 1
				# und weg mit den style="" Definitionen; die will ich nicht erlauben
				# da ich alles über eigene Klassen erledige. Funktioniert in
				# keinem Browser richtig ...
		   		fixAttrib.style.unset = 1
		   	}
			# und übertragen auf alle wesentlichen Blockdefinitionen.
			# Mal schauen, ob ich das evtl. noch für img und ul/ol erweitern
			# muss.
		   	div < .p
		   	h1  < .p
		   	h2  < .p
		   	h3  < .p
		   	h4  < .p
		   	h5  < .p
		   	h6  < .p
			# b und i mappen zu strong und em; das sind Relikte aus Word, die
			# in verschiedenen Browsern entstehen (IE + Safari, glaube ich)
		   	b.remap = strong
         		i.remap = em
		   # Ende tags
		   }
		# Ende entryHTMLparser_db
		}
	# Ende proc
	}

	# nur Klassen mit Tags erlauben/verbieten. z. B. : p.klasse {border:
	# 1px solid #ccc} da ich mein Haupt-Stylesheet verwende, verbiete
	# ich Klassen ohne Tags, sonst gibts Salat in den Menüs ...

	showTagFreeClasses=0

	# hier wird definiert, welche Klassen den Redakteuren zur
	# Verfügung gestellt werden:  die vorhandenen Klassen für die
	# Zeichenformatierung werden hier ausgeschaltet:

	classesParagraph (
		# snip, unwichtig. Alle KLassen nennen!
		csc-frame-rulerbefore,
		)

	classesCharacter (
		# snip, unwichtig. Alle KLassen nennen!
		starkebetonung,
		)
	# Klassendefinition für die gesamte Tabelle
	classesTable = contenttable-1,contenttable-2

	# Klassendefinition für die einzelnen Zellen
	# das kann für tr, thead, tbody ebenfalls gemacht werden
	classesTD = hellgrau1, dunkelgrau1

	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
		)
	classesAnchor.default {
		page = internal-link
		url = external-link-new-window
		file = download
		mail = mail
	}

	# Das sind Definitionen aus den Grundeinstellungen, die ich noch
	# nicht richtig kenne ...
	# Lasse ich stehen, damit ich sie nicht vergesse.

	## Remove the following fieldsets from the properties popups

	disableAlignmentFieldsetInTableOperations = 1
	disableSpacingFieldsetInTableOperations = 1
	disableColorFieldsetInTableOperations = 1
	disableLayoutFieldsetInTableOperations = 1
	## Show borders on table creation
	buttons.toggleborders.setOnTableCreation = 1
# Ende RTE.default
}

# Das hier löst die Transformation und Code-Bereinigung im IE nach dem
# Einfügen des Textes aus.
# die Definition weicht etwas ab von der beim Speichern weiter oben:

RTE.default.enableWordClean.HTMLparser {
	# Die Tags a, span, font fehlen und werden deshalb entfernt
	allowTags (
		abbr, acronym, address, blockquote, b, bdo, big, br, caption,
		center, cite, code, col,
		colgroup, del, dfn, div, em, h1, h2, h3, h4, h5, h6, hr, i, img,
		ins, kbd, li, link,
		ol, p, pre, q, samp, sdfield, small, strike, strong, sub, sup,
		table, thead, tbody, tfoot,
		td, th, tr, tt, u, ul, var
		)
	tags {
		p {
			allowedAttribs = id, title, dir, lang, xml:lang, class
		   	fixAttrib.align.unset = 1
		   	fixAttrib.style.unset = 1
		   }
		div < .p
		h1  < .p
		h2  < .p
		h3  < .p
		h4  < .p
		h5  < .p
		h6  < .p
	}
}


# Übergabe der Einstellungen an den RTE fürs Frontend

RTE.default.FE < RTE.default
RTE.default.FE.showStatusBar = 0
RTE.default.FE.hideButtons (
	chMode, blockstyle, textstyle, underline,
	strikethrough, subscript, superscript, lefttoright, righttoleft, left,
	center, right, justifyfull, table, inserttag, findreplace,
	removeformat, copy, cut, paste
)
RTE.default.FE.userElements >
RTE.default.FE.userLinks >
RTE.default.FE.proc < RTE.default.proc

# Wieder Regeln aus den Grundeinstellungen, sind nicht nötig, da sie
# eh gelten.

RTE.config.tt_content.bodytext >
RTE.config.tt_content.bodytext.proc.overruleMode = ts_css
RTE.config.tt_content.bodytext.types.text.proc.overruleMode = ts_css
RTE.config.tt_content.bodytext.types.textpic.proc.overruleMode = ts_css


_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german




More information about the TYPO3-german mailing list