[TYPO3-german] RTE & echte Zeilenumbrüche

Peter Linzenkirchner liste at lisardo.de
Thu Jan 6 18:46:26 CET 2011


Hallo Markus, 

also dem RTE abzugewöhnen, dass er <br> innerhalb des <pre> schreibt, dürfte zu aufwändig sein, da hängen einfach zu viele Transformationen dran. Wenn ich richtig verstanden habe, geht es dir darum, dass im Browser des Besuchers der <pre>-Tag korrekt aufgebaut ist - wie er im RTE besammen ist, spielt eigentlich keine Rolle. Also würde ich da ansetzen. 

1. im RTE einen <pre>-Tag einfügen, z. B. über Blockformat "Vorformatiert"
2. über die Zwischenablage in diesen Tag den Quellcode einkopieren. 

Dabei werden die Zeilenschaltungen im Quellcode zu <br>. Klappt zumindest bei mir im Firefox ganz gut. 

Wenn man im RTE weiterschreiben will, muss für Zeilenschaltungen Umschalt-Return gedrückt werden, sonst entstehen lauter <pre>-Tags pro Zeile. 

Damit erhalte ich einen <pre>-Tag, der von <br> durchsetzt ist, der aber im  RTE gut bearbeitet werden kann. 

3. Ins Typoscript-Setup diesen Code: 

includeLibs.userFunc = fileadmin/scripts/userFunc.php
lib.parseFunc_RTE.externalBlocks := addToList(pre)
lib.parseFunc_RTE.externalBlocks.pre.stdWrap.postUserFunc = user_userFunc->replaceBR

Damit wird pre als externer Block definiert und über die stdWrap-Funktion eine userfunc aufgerufen, die den externen Block abarbeitet. 

4. In fileadmin/scripts/userFunc.php dann diesen Code (oder halt so ähnlich ...): 

class user_userFunc{
	function replaceBR(&$content, $pars) {
		$content =  str_replace (  "<br>" ,  "\n" ,  $content); 
		$content =  str_replace (  "<br />" ,  "\n" ,  $content); 
		return $content;
	}
}

Bei mir funktionierts soweit ... Geht vielleicht eleganter, aber was besseres fällt mir nicht ein.

Gruß
Peter

--
Xing: http://www.xing.com/profile/Peter_Linzenkirchner
Web: http://www.typo3-lisardo.de
Facebook: http://tinyurl.com/lisardo-multimedia



More information about the TYPO3-german mailing list