Zum Inhalt springen

Verschachtelte FCE

Erstellt am 8. Mai 2005 · 12 Antworten · letzte Antwort am 9. Mai 2005

Tags: Frage

Walli ·

Hallo,

ich habe derzeit TV im Einsatz und klappt soweit auch alles.
Nun wollte ich aber FlexibleContentElemente schachteln.

Das Übergeordnete erzeugt die Titelleiste und eine Box (wie bei allen anderen Elementen auch), dient praktisch nur als Container/Platzhalter mit Überschrift.

Nun habe ich weitere TemplateObjekte angelegt die Text und Bild enthalten sollen...und dann im übergeordneten FCE angezeigt werden sollen.

Das Problem ist nun folgendes: mit aktiviertem RTE , werden die HTML Tags mitangezeigt.
Schalte ich den RTE aus, dann klappt das rendern - allerdings muß ich dann bei der Textangabe umständlich per HTML formatieren.

Ist es nicht möglich? Oder gibt es irgendwo "den kleinen Schalter" mit dem es doch klappt.

grüße,
Walli

P.S Wenn ich die "Problem Elemente" nicht verschachtelt, sondern ganz normal als Contentelement verwende, dann läuft alles sauber. Nur wenn ich sie dem anderen FCE unterordne, dann nicht mehr.

Walli ·

ja, das weiss ich. Wenn ich den RTE aktiviert habe, dann rendert er die HTML Tags als Text.
Deaktiviere ich den RTE, dann wird korrekt gerendert, aber dann kann man den Text nicht mehr so komfortabel erstellen.

Wenn ich das "Problem" TO als oberstes Content Element verwende - also nicht verschachtelt - dann funktioniert das auch einwandfrei.

Wenn ich das TO aber einem anderen unterordne, dann eben nicht.

Übrigens, wenn ich anstatt des Problem Template Objektes ein normales Text with Image verwende, dann funktioniert alles wie geplant. Text with Image kann ich problemlos meinem "Container" TO unterordnen.

Trotzdem hätte ich gerne die Möglichkeit, eigene Template Objekte zu verschachteln..

waldosparding ·

Hi,

ja, das weiss ich. Wenn ich den RTE aktiviert habe, dann rendert er die HTML Tags als Text.

du musst im FCE-XML

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

setzen.

Waldo

Walli ·

das habe ich gleich mal getestet. Funktioniert auch schon besser, der Text wird korrekt gerendert - bis auf ein Problem:
Zeilenumbrüche und Absätze werden nicht berücksichtigt.

viele Grüße,
Walli

P.S Normalerweise muß man doch den INtegerType auf "1" setzen, wenn man den RTE verwenden will - wieso in diesem Fall nicht?

waldosparding ·

Das mit den Zeilenumbrüchen habe ich nicht. Wie sieht denn der XML-Code aus ?

Das mit dem Integer muss hier auf 0 stehen, weil dann die Daten nicht durch die Funktion htmlspecialchars geschickt werden.

Waldo

Walli ·

Das wäre der XML Code des Problemobjekts:

<T3DataStructure>
    <ROOT type="array">
        <tx_templavoila type="array">
            <title>ROOT</title>
            <description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
        </tx_templavoila>
        <type>array</type>
        <el type="array">
            <field_fliesstext type="array">
                <tx_templavoila type="array">
                    <title>Fliesstext</title>
                    <sample_data type="array">
                        <numIndex index="0">Hier steht der Text</numIndex>
                    </sample_data>
                    <eType>text</eType>
                    <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>Fliesstext</label>
                   <defaultExtras>richtext[*]:rte_transform[mode=ts_css]</defaultExtras> 
                </TCEforms>
            </field_fliesstext>
            <field_bild1 type="array">
                <tx_templavoila type="array">
                    <title>Bild</title>
                    <sample_data type="array">
                        <numIndex index="0">Bild</numIndex>
                    </sample_data>
                    <eType>image</eType>
                    <TypoScript>
	10 = IMAGE
	10.file.import = uploads/tx_templavoila/
	10.file.import.current = 1
	10.file.import.listNum = 0
	10.file.maxW = 200
							</TypoScript>
                </tx_templavoila>
                <TCEforms type="array">
                    <config type="array">
                        <type>group</type>
                        <internal_type>file</internal_type>
                        <allowed>gif,png,jpg,jpeg</allowed>
                        <max_size>1000</max_size>
                        <uploadfolder>uploads/tx_templavoila</uploadfolder>
                        <show_thumbs>1</show_thumbs>
                        <size>1</size>
                        <maxitems>1</maxitems>
                        <minitems>0</minitems>
                    </config>
                    <label>Bild</label>
                </TCEforms>
            </field_bild1>
        </el>
    </ROOT>
</T3DataStructure>
rpr71 ·

hallo,

ich habe genau das gleiche problem:
#24527

meiner meinung nach, hat das problem mit der transformation des contents zwischen datenbank und frontend zu tun, die aus irgendeinem grund bei den FCEs anders funktioniert.

während "normale" content-typen (wie z.b. "Text w/image" etc.) korrekt gerendert werden (selbst wenn sie innerhalb eines FCE-Containers liegen), ist das mit dem RTE content eines FCE nicht der fall.
alle formatierungen, links etc. verschwinden beim rendern und man hat nur noch eine zeile fliesstext. im RTE (source-code ansicht) werden dagegen alle tags richtig angezeigt. die transformierung zwischen RTE und DB scheint also erwartungsgemäß zu funktionieren.

was also tun??? bis jetzt habe ich keine lösung gefunden o.O

gruss
ralf

waldosparding ·

Hallo,

eigentlich ganz einfach, hatte das Problem auch gerade. Die einfache Lösung:

<stdwrap>br=1</stdwrap>

direkt auf gleicher Ebene wie das <hsc> einbauen oder folgenden Code verwenden:

                    <eType>text</eType>
                    <TypoScript>
<![CDATA[
10 = TEXT
10.current = 1
10.brTag=<br>
]]>
                    </TypoScript>
                    <proc type="array">
                        
                        <HSC type="integer">0</HSC>
                    </proc>

Im zweiten Weg hat man natürlich alle TS Mögichkeiten.

Waldo

rpr71 ·

hallo,

das sorgt aber einfach nur dafür, dass um alle zeilen ein BR-tag gewrappt wird. also nur ein workaround.

hier wird noch eine lösung beschrieben:
http://wiki.typo3.org/index.php/TemplaVoila
unter: "Enabling RTE in FCEs (additional comment)"

leider zeigt typo bei mir dann erstmal gar keine rich-text-inhalte aus dem FCE an... angeblich solls aber funktionieren.

gruss
ralf

Walli ·

du musst es machen wie in der Wiki beschrieben - dann aber noch die hier beschriebenen Änderungen beachten (integer type beispielsweise)

ich habe übrigens die zweite Variante verwendet

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