[TYPO3-german] Javascript-Output mit Extbase?

Stephan Schuler Stephan.Schuler at netlogix.de
Mon Mar 30 17:08:18 CEST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo zusammen.


stdWrap.replacement bringt erhöhtes Fehlerpotenzial mit. Es *kann* funktionieren, aber die Wahrscheinlichkeit dass das erzeugte JS früher oder später doch falsch wird ist einfach recht groß.
Zumal man für gewöhnlich keinen stdWrap um einzelne Fluid-Variablen macht, wenn man Controllerinhalte an Fluidtemplates übergibt. Das müsste man ja für jede einzelne Variable machen, wahlweise im Controller oder per "stdWrapViewHelper" (den es so nicht gibt).

Ich verwende zum Beispiel folgende Überschrift, um mal die Fehlerquelle zu verdeutlichen:
> Ein Event "à titre d'illustration" in meinem internationalen Kalender.

Das JavaScript dazu hat dann zwei Möglichkeiten:
https://gist.github.com/anonymous/2db912e41fddcd088b8c

Ganz besonders schön wird es, sobald ich damit rechnen darf, auch Backslashes in den Subjects zu finden. Dann darf ich die nämlich auch erst noch maskieren. Nur tu ich mich da gerade mit einem Beispiel schwer.


Ich würde ja vorschlagen, dass die Aufgabe ein JsonEncode-ViewHelper erledigen darf, so wie der ExtensionManager einen mitbringt.

Dabei sollte man natürlich wissen, wie json_encode mit welchem Datentyp umgeht.
Ich mal kurz durchgespielt, wie sich welcher Skalar mit welchem Inhalt verhält:
https://gist.github.com/anonymous/5cd53e1ad8997b6d1de6

Das heißt bei der Verwendung von jsonEncode *keine* Hochkommas oder Anführungszeichen selbst drum rum basteln, dann wird alles gut.


Fluid-Beispiel:
https://gist.github.com/anonymous/8c964192e74a871479cd


Gruß,


Stephan Schuler
Web-Entwickler | netlogix Media

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Web: media.netlogix.de




netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Web: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



- -----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Dr Dieter Porth
Gesendet: Sonntag, 29. März 2015 03:46
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Javascript-Output mit Extbase?

Am 27.3.2015 um 14:15 schrieb Stefan Padberg:
> Hat keiner eine Idee? Oder gibt es so etwas wie Best Practive?
>
> Gruß
> Stefan
>
> Am 24.03.2015 um 11:33 schrieb Stefan Padberg:
>>
>> Hallo,
>>
>> ich habe einen kleinen Veranstaltungskalender mit Extbase/Fluid
>> erstellt. Die Veranstaltungen werden u.a. auf einer GoogleMap angezeigt.
>> Bei Klick auf einen Marker öffnet sich ein Infofenster mit
>> Veranstaltungstitel und -ort usw.
>>
>> Die Daten für das Infofenster werden als Javascript-Objekt ins Fluid
>> geschrieben. Die Google Map greift sie sich dann und baut sie in die
>> Map ein.
>>
>> So weit so gut. Jetzt kommt es ab und zu vor, dass die Redakteure
>> Apostrophe oder Anführungszeichen in den Veranstaltungstiteln benutzen.
>> Das nimmt Javascript übel. Ich habe versucht, diese Zeichen im
>> Extbase Controller abzufangen, indem ich sie in HTML Codes umwandle,
>> also Anführungszeichen &quote; usw. Das hat aber nicht funktioniert,
>> denn Extbase hat das & dann wieder selber codiert. Im Output stand
>> dann &quote;
>>
>> Wie macht man das richtig? Eigentlich möchte ich, dass schon bei der
>> Eingabe diese störenden Zeichen eliminiert werden. Also müsste man
>> das irgendwie im TCA verankern. Jemand 'ne Idee?
>>
>> Beste Grüße
>> Stefan
>>
>>
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Controller und andere Escape-Form (unicode?) wählen könnte vielleicht eine Lösung sein.
http://0xcc.net/jsescape/
http://www.2ality.com/2013/09/javascript-unicode.html

Ansonsten bei Ausgabe stdWrap.replacement verwenden.

Dieter

- --
Dr. Dieter Porth -
Mein kleines TYPO3-Labor: http://www.mobger.de/

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

-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 3.3.2 (Build 15704)
Charset: utf-8

wpUDBQFVGWbjpp0IwsibV8MBCLutBADCrpBPi3gRGfR1hrcEytdsiUum2LAcRQK8
MSrhANv4rDU2/ls8FKSK/YyAE576/wqgmgQ2/oJwsn417K8QoClG0/FLdOsJfMyF
Zf5MnleTM+vdeWBCWUANd8qwTwzwb6L/c0QbH8++Z41Q+qveNRNoECL9+/cjNYbc
rx1mk+XcRw==
=M+Nu
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list