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