Hallo Till,

sorry, habe deinen Post erst jetzt gelesen. Mich würde interessieren, was du genau als JavaScript ausgeben möchtest. Mit dem CData-Viewhelper habe ich noch keine Erfahrungen gesammelt. Deine Ausführungen deuten darauf hin, dass ein übergeordnetes Fluid-Tag für die Die Ausgabe deines CDATAs verantwortlich ist.

Ich arbeite gerade an einer Extension, bei welcher ich innerhalb von JavaScript Fluid-Variablen nutzen muss. Nach meinen früheren Erfahrung (TYPO3 7.6 und 8.7 sind es insbesondere die geschweiften Klammern, die Probleme verursachen. Leider kann man in TYPO3 die Klammerung für die Fluid-Objekte nicht umkonfigurieren z.B. zu « (Alt-0171) und » (Alt-0187) für { und }.  Dann könnte man leicht innerhalb von Inline-JavaScript Fluid-Inline-Code verwenden und ein Syntaxhighlighting unter einer guten IDE wäre vermutlich auch leicht möglich. Angesichts der zunehmenden Bedeutung von Custom-Elements (https://www.html5rocks.com/en/tutorials/webcomponents/customelements/) gehe ich davon aus, dass in Zukunft wieder vermehrt Inline-JS zum Einsatz kommen wird. Ein Fluid, dass sich eindeutig gegen HTML und JavaScript-Code per Syntaxhighlighting abgrenzt, wäre wünschenswert.

Da das nicht funktioniert, nutze ich folgenden Workaround:
1. Ich lagere JavaScript in eigene Partials aus. (Übersichtlicher)
2. Der JavaScriptCode wird mit einem F:Alias umschlossen.

<f:alias map="{ begin: '{', end: '}' }"> </f:alias>

3. Jede geschweifte Klammer im JavaScript wird durch {begin} bzw. {end} ersetzt.

Der Workaround hat verschiedene Nachteile. Insbesondere die Lesbarkeit von Code ist ein Manko.

Mit besten Grüßen

        Dieter


Am 28.06.2019 um 18:45 schrieb g4-l...@tonarchiv.ch:

Hi Birgit,

ich hab's genau nach dieser Anleitung probiert, sogar testweise mit dem JS aus dem Beispiel...

Mit deinem Vorschlag wird auch einfach nichts anstelle des Skripts ausgegeben.

Nach weiterem Testen habe ich festgestellt, dass TYPO3 wohl jetzt davon ausgeht, dass der Parser schlau genug ist, um Inline-JS zu als solches zu erkennen. Also auch ohne spezielles "Escaping".

Mit de JS aus dem Beispiel klappt das tatsächlich. Aber mein JS ist wohl zu kompliziert - da kriege ich dann einen PHP-Fehler: Wrong argument for foreach (sinngemäss)..

Wäre ja schon schön, wenn man wie früher einfach darauf vertrauen könnte, dass der Parser alles zwischen <![CDATA[ ... ]]>  in Ruhe lässt.

Viele Grüße,
Till

On 28.06.19 11:03, Birgit wrote:
Hallo Till,

untested: hast du schon
<f:format.raw>  <![CDATA
ausprobiert?

Ansonsten hier eine Doku:
https://docs.typo3.org/m/typo3/guide-extbasefluid/master/en-us/Fluid/ThingsToKnow/JsAndInline.html


viele Grüße
Birgit



Am 28.06.2019 um 03:01 schrieb g4-l...@tonarchiv.ch:

Hallo Leute,

wenn ich im Fluid-Template einer Extension einen Block mit <![CDATA[ ... ]]> einschliesse, wird dieser gar nicht gerendert.

Wenn ich hingegen den Viewhelper <f:format.cdata> verwende, wird das <![CDATA[ ... ]]> im Frontend ausgegeben, was auch nicht so ganz im Sinne des Erfinders ist...

Sieht mir nach einem Bug aus. Im Moment scheint es nicht mehr möglich zu sein, einen Codeblock mit <![CDATA[ ... ]]> auszugeben.

Hat sonst noch jemand damit unter V9.5 Erfahrungen gesammelt?

Grüße,
Till

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

--
---

Dr. Dieter Porth
Grünenstraße 23
D-28199 Bremen
Germany

+(049) 421 / 51 48 35 48
+(049) 160 / 99 18 06 88 (abends/ after 18:00)

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an