[TYPO3-german] RTE: div-Tags werden gelöscht

axel p. minimalabstrakt at yahoo.de
Mon Jun 12 16:51:35 CEST 2006


Liebe Liste,

ich möchte erreichen, dass der htmlarea-RTE (bzw. die Transformationen 
zwischen RTE und Datenbank) DIV-Tags unangetastet läßt. Habe schon 
diverses probiert - auch gegooglet und die Frage häufiger gefunden, aber 
leider nie eine Lösung dazu.

Das Problem äußert sich wie folgt: Sobald in einem DIV-Tag p-Tags 
vorkommen, wird das DIV nach Abspeichern auch zu einem P.

Beispiel: Gebe im Quellcode-Modus des RTE

   <div id="a1234">hallo welt!</div>

ein, speichere und das bleibt dann auch so nach dem Speichern der Code.
Aus

   <div id="a1234">hallo welt!<p>dada ist gaga</p></div>

hingegen wird nach Speichern:

   <p>hallo welt!</p>
   <p>dada ist gaga</p>

Sicher ist bislang nur, dass der Code auf dem Weg von RTE zu Datenbank 
bei einer Transformation verstümmelt wird. Denn:

Wenn ich den korrekten HTML-Code direkt in die Datenbank schreibe und 
dann das Contentelement bearbeite, wird auch der korrekte Code in den 
RTE geladen.

Wenn ich den RTE deaktiviere, werden die div-Tags übrigens problemlos in 
die Datenbank geschrieben.

Hat jemand eine Idee?

TSConfig und Versionen: siehe unten.

Schöne Grüße
Axel


Setup:
Typo3 Version 4
rtehtmlarea Version 1.3.7

TSConfig:

# RTE konfigurieren

RTE.default {

   showButtons = *

   hidePStyleItems = H4, H5, H6, PRE

   enableWordClean = 1
   removeTrailingBR = 1
   removeComments = 1
   removeTags = center,sdfield,font
   removeTagsAndContents = style,script

   proc.allowTags = 
b,i,u,a,img,br,div,center,pre,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,span,h1,h2,h3,h4,h5,h6,acronym,abbr
   proc.remapParagraphTag >
   proc.dontConvBRtoParagraph = 1
   proc.overruleMode = ts_css
   proc.keepPDIVattribs = align,class,id

   #
   # html parser einstellungen
   # Content von DB in RTE
   proc.HTMLparser_rte {

     # tags die erlaubt/verboten sind
     allowTags < RTE.default.proc.allowTags
     denyTags >

     # tags die untersagt sind
     removeTags = center,sdfield,font
     removeTagsAndContents = style,script

     # entfernt html-kommentare
     removeComments = 1

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

   }

   # Content to database
   proc.entryHTMLparser_db = 1
   proc.entryHTMLparser_db {

     remapParagraphTag >

     removeTags = center,sdfield,font
     removeTagsAndContents = style,script

     # tags die erlaubt/verboten sind
     allowTags < RTE.default.proc.allowTags
     denyTags >

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

     # htmlSpecialChars = 1

     tags {
       # align attribute werden erlaubt
       p.fixAttrib.align.unset >
       p.allowedAttribs = class,align,id
       div.allowedAttribs = class,align,id
       div.fixAttrib.align.unset >
       hr.allowedAttribs = class

       # b und i tags werden ersetzt (em / strong)
       b.remap = strong
       i.remap = em

       # IMG tags erlauben
       img.allowedAttribs = alt,class,style,src,title
       img.rmTagIfNoAttrib = 1
     }

   }
}



More information about the TYPO3-german mailing list