Zum Inhalt springen

RTE in FCE - Transformationsproblem DIV nach P

Erstellt am 6. Mai 2005 · 4 Antworten · letzte Antwort am 9. Mai 2005

Tags: Frage

rpr71 ·

hallo zusammen,

ich habe den RTE in einem FCE von templaVoila aktiviert (ts siehe unten) und stehe nun leider vor dem problem, dass die einzelnen textzeilen - die vom rte automatisch mit DIVs gewrappt werden - bei der transformation zwar durch P-tags ersetzt werden, diese dann aber nicht im frontend-html erscheinen.

bei den "herkömmlichen" content-elementen (z.b. Text w/image etc.) funktioniert das einwandfrei. nur bei den FCEs klappt es nicht.
in der datastructure von templaVoila kann ich durch ...|mode=XYZ (s.u.) den transformations-modus einschalten/ändern, was aber immer dazu führt, dass im frontend html überhaupt keine tags mehr um die textzeilen stehen -> fließtext -> 🙁
wenn ich die transformation ausschalte, werden dagegen die DIV-tags nicht mehr konvertiert -> keine P-tags -> stylesheet greift nicht mehr -> 🙁

interessanterweise scheint auch das "overruleMode = ts_css" im tsconfig keine wirkung auf den FCE-RTE zu haben, während die konfiguration der buttons (hideButtons = ...) dagegen schon eine wirkung hat.

meine frage lautet nun, ob ich den FCE-RTE noch an anderer stelle gesondert konfigurieren muss, damit sich die transformation der DIVs in P-tags auch nachher im frontend html niederschlägt... oder ob ich generell was komplett missverstanden habe und der fehler evtl. ganz woanders liegt o.O

bin für jede hilfe dankbar...

gruss
ralf

ts in der datastructure:

<TCEforms type="array">
  <config type="array">
    <type>text</type>
    <cols>48</cols>
    <rows>5</rows>
  </config>
  <label>Body</label>
  <defaultExtras>richtext[*]:rte_transform flag=rte_enabled|mode=ts_css]</defaultExtras>
</TCEforms>

tsconfig vom root-pageheader:

RTE.default { 
  hidePStyleItems = H4,H5,H6 
  hideButtons = cut, copy, paste, fontstyle, fontsize, textcolor, table, bgcolor, emoticon, line, user
}

RTE.default.proc { 
  overruleMode = ts_css
  typolist = 0
  remapParagraphTag = p
  dontConvBRtoParagraph = 1
}

RTE.default.proc.entryHTMLparser_db = 1
RTE.default.proc.entryHTMLparser_db {
    removeTags = font, tbody
    rmTagIfNoAttrib = span, div
    keepNonMatchedTags = 1
    xhtml_cleaning = 1
}
waldosparding ·

Hi,

hast du auch

                    <proc type="array">
                        <HSC type="integer">0</HSC>
                    </proc>

HSC auf 0 gesetzt ?
Sonst wandert der granze Krempel erst noch durch htmlspecialchars.

Waldo

rpr71 ·

hallo,

HSC steht auf 0 (hab vergessen das mitzuquoten). trotzdem besteht das oben beschriebene Problem.

Gruss,
Ralf

rpr71 ·

hallo zusammen,

nachdem ich noch ein wenig getestet habe, kann ich sagen, dass das problem meiner meinung nach nicht durch die transformation zwischen RTE und DB verursacht wird, sondern durch die falsche (oder nicht vorhandene) transformation zwischen DB und FE (sprich das rendering der seite).

stellt sich die frage, inwiefern templavoila content (FCEs) anders gerendert wird als ein "normales" content-element (Text w/image etc.).

igendwelche ideen?

gruss
ralf

rpr71 ·

hallo zusammen,

ich habe das problem gelöst:

<field_body type="array">
                <tx_templavoila type="array">
                    <title>Body</title>
                    <eType>text</eType>
					<TypoScript>
						<![CDATA[
							10 = TEXT
							10.current = 1
							10.parseFunc = < lib.parseFunc_RTE
						]]>
					</TypoScript>
                    <proc type="array">
                        <HSC type="integer">0</HSC>
                    </proc>
                </tx_templavoila>
                <TCEforms type="array">
                    <config type="array">
                        <type>text</type>
                        <cols>48</cols>
                        <rows>5</rows>
                    </config>
                    <label>Body</label>
                    <defaultExtras>richtext[*]:rte_transform[flag=rte_enabled|mode=ts_css]</defaultExtras>
                </TCEforms>
            </field_body>

das "10.parseFunc = < lib.parseFunc_RTE" ist der schlüssel gewesen 😃

gruss
ralf