Zum Inhalt springen

RTE konvertiert (nur) einige Tags nicht (<acronym>, <abbr>, etc,)

Erstellt am 7. Juni 2006 · 4 Antworten · letzte Antwort am 20. Juni 2006

Tags: Frage

tuddelouie ·

Mir ist ein Problem über den Weg gelaufen, das ich vor Jahren schon einmal hatte, aber ich kenne leider die Lösung nicht mehr. Außerdem weiss ich nicht, welche Auswirkung der neue RTE (rtehtmlarea Version 1.4.1) hat, da ich damals den alten RTE nutzte.

Die meisten Tags werden korrekt geparst, sowohl in Richtung RTE > Datenbank als auch Datenbank > Frontend.

Einige Tags werden aber nicht geparst bzw. als Sonderzeichen konvertiert aus der DB in Richtung FE. Zu sehen ist dann im Frontend der eigentliche Tag, also z.B.

<acronym>Zitat</acronym>.

Exakt so, steht es auch in der DB. Diese "Problemtags" werden also vom RTE korrekt in die DB geschrieben und auch im RTE korrekt dargestellt. Irgendwas - und da liegt der Hund wohl begraben - veranlasst den RTE bzw. HTMLparser, diese und nur diese Tags, umzuwandeln in Sonderzeichen. Dann stehen sie natürlich als Tags sichtbar auf der Seite im FE. Page-TS-Config habe ich mal unten angehängt, ist (aber) die Standardkonfiguration.

	## Default RTE processing rules
RTE.default.proc {
	
		## TRANSFORMATION METHOD
		## We assume that CSS Styled Content is used.
	overruleMode = ts_css
	
		## DO NOT CONVERT BR TAGS INTO LINEBREAKS
		## br tags in the content are assumed to be intentional.
	dontConvBRtoParagraph = 1
	
		## REMAP DIV TAGS TO P TAGS
		## For compatibility between Classic RTE and htmlArea RTE
	remapParagraphTag = p
	
		## TAGS ALLOWED OUTSIDE P & DIV
	allowTagsOutside = hr, address
	
		## TAGS ALLOWED
		## Added to the default internal list: b,i,u,a,img,br,div,center,pre,font,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,span
		## But, for the sake of clarity, we use a complete list in alphabetic order.
		## center, font, o:p, strike, sdfield and  u will be removed on entry (see below).
		## b and i will be remapped on exit (see below).
		## Note that the link accessibility feature of htmlArea RTE does insert img tags.
	allowTags (
		a, abbr, acronym, address, blockquote, b, br, caption, center, cite, code, div, em, font,
		h1, h2, h3, h4, h5, h6, hr, i, img, li, link, ol, p, pre, q, sdfield,
		span, strike, strong, sub, sup, table, thead, tbody, tfoot, td, th, tr, tt, u, ul
		)
	
		## TAGS DENIED
		## Make sure we can set rules on any tag listed in allowTags.
	denyTags >
	
		## ALLOWED P & DIV ATTRIBUTES
		## Attributes class and align are always preserved
		## Align attribute will be unset on entry (see below)
		## This is a list of additional attributes to keep
	keepPDIVattribs = xml:lang
	
		## CONTENT TO DATABASE
	entryHTMLparser_db = 1
	entryHTMLparser_db {
	
			## TAGS ALLOWED
			## Always use the same list of allowed tags.
		allowTags < RTE.default.proc.allowTags
		
			## TAGS DENIED
			## Make sure we can set rules on any tag listed in allowTags.
		denyTags >
		
			## AVOID CONTENT BEING HSC'ed TWICE
		htmlSpecialChars = 0
		
		tags {
			
				## REMOVE IMG TAGS
			img.allowedAttribs = 0
			img.rmTagIfNoAttrib = 1
			
				## CLEAN ATTRIBUTES ON THE FOLLOWING TAGS
			span.fixAttrib.style.unset = 1
			p.fixAttrib.align.unset = 1
			div.fixAttrib.align.unset = 1
			hr.allowedAttribs = class
			b.allowedAttribs = xml:lang
			blockquote.allowedAttribs = xml:lang
			cite.allowedAttribs = xml:lang
			em.allowedAttribs = xml:lang
			i.allowedAttribs = xml:lang
			q.allowedAttribs = xml:lang
			strong.allowedAttribs = xml:lang
			sub.allowedAttribs = xml:lang
			sup.allowedAttribs = xml:lang
			tt.allowedAttribs = xml:lang
		}
		
			## REMOVE OPEN OFFICE META DATA TAGS, WORD 2003 TAGS AND DEPRECATED HTML TAGS
			## We use this rule instead of the denyTags rule so that we can protect custom tags without protecting these unwanted tags.
		removeTags = center, font, o:p, sdfield, strike, u
		
			## PROTECT CUSTOM TAGS
		keepNonMatchedTags = protect
	}
	
	HTMLparser_db {
			## STRIP ALL ATTRIBUTES FROM THESE TAGS
			## If this list of tags is not set, it will default to: b,i,u,br,center,hr,sub,sup,strong,em,li,ul,ol,blockquote,strike.
			## However, we want to keep xml:lang attribute on most tags and tags from the default list where cleaned on entry.
		noAttrib = br
	
			## XHTML COMPLIANCE
			## Note that applying xhtml_cleaning on exit would break non-standard attributes of typolink tags
		xhtml_cleaning = 1
	}
	
	exitHTMLparser_db = 1
	exitHTMLparser_db {
			## REMAP B AND I TAGS
			## b and i tags are used by Mozilla/Firefox in editing mode.
			## This must be done on exit because the default HTMLparser_db parsing executes the reverse mapping.
		tags.b.remap = strong
		tags.i.remap = em
		
			## KEEP ALL TAGS
			## Unwanted tags were removed on entry.
			## Without this rule, the parser will remove all tags! Presumably, this rule will be more efficient than repeating the allowTags rule
		keepNonMatchedTags = 1
		
			## AVOID CONTENT BEING HSC'ed TWICE
		htmlSpecialChars = 0
	}
}

	## Use same RTE processing rules in FE
RTE.default.FE.proc < RTE.default.proc

	## RTE processing rules for bodytext column of tt_content table
	## Erase settings from other extensions
RTE.config.tt_content.bodytext >

	## Make sure we use ts_css transformation
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
tuddelouie ·

Das hier war's:

tt_content.text.20.parseFunc.allowTags = cite, acronym, abbr,

Vielen Dank für deine Hilfe, hat mich bei der Suche daran erinnert. :o

kazi ·

Hallo,

wo muss eigentlich der TypoScript Code rein.

Im Bereich Pageheader gibt es ja die Box, TSConfig. Muss es dort oder wo sonst?

Es ist aber nicht der Setup oder Constants Bereich vom Typoscript Template ..oder ?

just2b ·
kazi schrieb

wo muss eigentlich der TypoScript Code rein.
Im Bereich Pageheader gibt es ja die Box, TSConfig. Muss es dort oder wo sonst?

ausprobieren schadet nicht und hätte uns 2 postings gespart 😃

georg