Zum Inhalt springen

Aus <em> wird <i>

Erstellt am 20. September 2005 · 11 Antworten · letzte Antwort am 28. Januar 2006

Tags: Frage

ArminB ·

Guten Morgen,

ich habe mich durch das Forum gewühlt, finde aber keine Lösung.

Aus em in <p><em>text</em><p> wird ein i. Ich nutze den rte und css_styled_content als static Template.

Nachtrag:
Ich habe eine Lösung mit
RTE.config.tt_content.bodytext.proc.exitHTMLparser_db = 1
RTE.config.tt_content.bodytext.proc.exitHTMLparser_db.tags {

b.remap = strong
i.remap = em
}

gefunden. Ist das die einzige Lösung? Oder gibt es weitere?

Zweiter Nachtrag: Die Lösung taugt nix, es fehlen dann z.B. a-tags etc.

Armin

Simone ·

Hallo Armin,

bei mir klappt das mit:

RTE.default.proc.entryHTMLparser_db = 1
RTE.default.proc.entryHTMLparser_db {
tags.b.remap = strong
tags.i.remap = em
}

gruß simone

Simone ·

Hey Armin,

ich hab folgenden Code im Pageheader meiner Rootseite um die Ausgabe des RTE zu beeinflussen:

#definiert welche Buttons für User sichtbar sind
RTE.config.tt_content.bodytext.showButtons = bold, italic, underline, left, center, right, justifyfull, link, image, table,copy, cut, paste, undo, redo, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter, columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge

RTE.default {
useCSS = 1
RTE.default.contentCSS = fileadmin/templates/main/res/rte.css
#versteckt ein Teil der Überschriften
hidePStyleItems = PRE, H4, H5, H6
hideTags = font, font (full)
# keine p tags einfügen
disableEnterParagraphs = 0
# übernehmen Attribute
keepPDIVattribs = align,class,style
}

RTE. default.proc {

        // TRANSFORMATION METHOD
	overruleMode = ts_css

	// LINES CONVERSION
	dontConvBRtoParagraph = 1

	// BRING FONT TAGS INSIDE PARAGRAPHS
	internalizeFontTags = 1

	// TAGS ALLOWED OUTSIDE P & DIV
	allowTagsOutside = img,hr,address

	// TAGS ALLOWED
	allowTags = table, tbody, tr, th, td, h1, h2, h3, h4, h5, h6, div, p, br, span, ul, ol, li, pre, blockquote, strong, em, b, i, u, sub, sup, strike, a, img, nobr, hr, center, font, tt, q, cite, abbr, acronym, address, sdfield, style
        allowedAttribs = style,align,class
	
        // TAGS DENIED
	denyTags = font

	// ALLOWED P & DIV ATTRIBUTES
	keepPDIVattribs = align,class,style

	// ALLOWED CLASSES
	allowedClasses = *    
        
        // CONTENT TO DATABASE
	entryHTMLparser_db = 1
	entryHTMLparser_db {
                 // TAGS ALLOWED
	         allowTags < RTE.default.proc.allowTags

		// XHTML COMPLIANCE
		xhtml_cleaning = 1

		// AVOID TO HSC TWICE
		htmlSpecialChars = 0

		// CLEAN TAGS
		noAttrib = b, i, u, strike, sub, sup, strong, em, quote,  blockquote, cite, tt, br
		rmTagIfNoAttrib= span,div,font
                
		// REMAP B AND I TAGS
                
		tags.b.remap = strong
		tags.i.remap = em
                
                
		// REMOVE OPEN OFFICE META TAGS
		removeTags = sdfield
		
               // PROTECT CUSTOM TAGS
		keepNonMatchedTags = 1
               
	}
}

hoffe das hilft dir
gruß
Simone #paralyzed#

ArminB ·

Hallo Simone,

habe jetzt erst wieder das Thema i -> em augegriffen.

Merkwürdigerweise habe ich es mit deinem Tipp nicht hinbekommen. Ich konnte em im rte angeben und wurde so auch übernommen, aber im Frontend war dann wieder das i da.

Ich habe es nun so gelöst

tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {
  encapsTagList = i
  remapTag.I = EM
}

Armin

wvd at home ·

Hallo,
vielleicht darf ich mich mit einer Frage einklinken ...

Seit ich mich mit TYPO3 befasse, ärgern mich die großen Abstände zwischen Überschrift und Eintrag wie auch zwischen den einzelnen Objekten. Ich vermute, dass in deinem großen Posting die Lösung irgendwo versteckt ist.
Vielleicht hast du eine Hilfe für mein Problem.

Bei der Gelegenheit noch eine andere Frage: Nachdem ich jeden verfügbaren Lesestoff eingesammelt und durchgeackert (nicht unbedingt auch verstanden <g>) habe, vermisse ich ausführlichere Informationen, wie man das Backend konfigurieren kann. Die Pflichtliteratur ist an der Stelle meist nur schmal.

Mit freundlichen Grüßen
Wolfgang

demeter ·

hi
du musst in deiner css datei die margin und padding werte für <h1>-<h5>
<p> bzw. <p class="bodytext"> auf null setzen.
also in etwa so

h1, h2, h3, h4, h5, p, span, undsoweiterundsoweiter {
	margin: 0px;
	padding: 0px;
                }
.bodytext {
	margin: 0px;
	padding: 0px;
                }

gruss kilian

wvd at home ·

Hallo,

der Tipp hat 100%ig geholfen. Vielen Dank.

Mit freundlichem Gruß
Wolfgang Erdmann

demeter schrieb

hi
du musst in deiner css datei die margin und padding werte für <h1>-<h5>
<p> bzw. <p class="bodytext"> auf null setzen.
also in etwa so

h1, h2, h3, h4, h5, p, span, undsoweiterundsoweiter {
	margin: 0px;
	padding: 0px;
                }
.bodytext {
	margin: 0px;
	padding: 0px;
                }

gruss kilian

s.​sach ·

Ich versuche auch gerade, ein <em> anstelle von <i> auszugeben. Im RTE wird im Quelltext auch <em> angezeigt, im Quelltext der Page steht aber <i>.

Habe folgendes im Setup versucht:

tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {
  encapsTagList = i
  remapTag.I = EM
}

Bringt aber nicht. Bei <strong> anstelle von <b> klappt dies aber.

Hat jemand ne Idee warum dies bei <em> nicht funktionert? Die Tips von @Simone haben mir auch nicht weiter geholfen. Gibt Probleme mit dem <a> Tags.

Vielen Dank.

demeter ·

hi steffen
habe genau das problem, das ich strong brauche.
dein template habe ich wie folgt abgeändert

tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {
  encapsTagList = b
  remapTag.b = STRONG
}

funktioniert bei mir allerdings nicht.
wo hast du denn das genau eingetragen, im seitenheader ts-config oder im rootemplate?
Oder liegt es an meiner Schreibweise (STRONG statt strong)

gruss Kilian

s.​sach ·

Hallo Kilian,

ins Setup Deines Roottemplates. Schreibweise ist schon ok.

Leider funktioniert das mit <em> nicht. Blöd!
Warum eigentlich nicht?

tee ·

Umwandlung von b zu strong und i zu em.
Vielleicht hilft das:

lib.parseFunc_RTE {
  nonTypoTagStdWrap.HTMLparser = 1
  nonTypoTagStdWrap.HTMLparser {
    tags.b.remap = strong
    tags.i.remap = em
  }
}