[TYPO3-german] gesucht: Viewhelper um Fluidvariablen in Inline-JavaScript einbauen zu können
Stefan Padberg
post at bergische-webschmiede.de
Mon Feb 13 09:03:12 CET 2017
Am 10.02.2017 um 19:40 schrieb Dr. Dieter Porth:
> Hallo Stefan,
>>>>
>>> (...) Mit dem obigen Workaround, der für kleine datenmengen durchaus
>>> gut funktioniert, würde es schnell unübersichtlich werden.
>>>
>> Man kann so auch ganze Javascript-Objekte ablegen.
>>
>> Oder man gibt Fluidvariable als JSON-Objekte aus. Das wäre noch eine
>> Alternative.
>>
> Nein, JavaScript-Objekte kann ich ja gerade nicht direkt konstruieren.
> <script>
> var referenz = {ridForm}; // funktioniert
>
> var typoJavascriptoPhob = {
> test: {ridForm}
> }; // Rohrkrepierer - funktioniert nicht
> <script>
Schreib es so:
var typoJavascripToPhob = {
test: "{ridForm}"
};
Das geht übrigens auch:
var typo3ObjectArray = [
<f:for each="{objects}" as="o">
<![CDATA[{]]>
uid: "{o.uid}",
title: "{o.title},
usw.
<![CDATA[},]]>
</f:for>
];
Mit CDATA kannst du alle geschweiften Klammern vor Fluid maskieren.
> Ein JSON-String wäre eine Workaround. Er sollte aber vermieden werden,
> da er sowohl auf Server-Seite wie auf Client-Seite zusätzlichen Aufwand
> erfordert. Mit einem Render-Viewhelper für Script-Code würde man nur
> Serverseitig Aufwand haben.
Mit der PHP-Funktion json_encode habe ich noch keine Lastprobleme
gehabt. Ich habe z.B. damit die gesamten Extension-Settings in eine
Variable gepackt, weil man ja manchmal Probleme hat in Extbase an die
Settings ranzukommen, z.B. bei bestimmten Ajax-Aufrufen oder im Backend.
Für Fluid ist das nur ein String. Und Javascript kann sofort damit arbeiten.
Beste Grüße
Stefan
--
Bergische Webschmiede
Dipl.-Ing. Stefan Padberg
TYPO3-Integrator und Webprogrammierer
:: Borner Str. 18 - 42349 Wuppertal
:: +49 202 97648355
:: +49 173 9219845
:: post at bergische-webschmiede.de
:: http://www.bergische-webschmiede.de
More information about the TYPO3-german
mailing list