Hallo Stefan,

konzeptionell sind mherer dinge denkbar:

eID - für aktuelle daten, kein caching. Sehr schnell, umgeht extbase fluid 
vollständig.
eID ist üblicherweise der schnellste ansatz.  Besonders gut wenn du die daten 
nicht cachen must / kannst. Und die komplexität der abfrage nicht so hoch ist
und du deswegen nicht auf das Datenmodel von Extbase angewiesen bist. Weil du 
z.b nur daten aus einer tabelle ausgeben willst.

Eigener Page Type, mit userfunc:
 ähnlich wie eID das rendern der Seite dauert länger, dafür cachted typo3 das 
ergebnis.
Du nutzt eine userfunction die einfach mittels typo3_db einfach die Daten aus 
der Datenbank holt und 
Als json zurück gibt. Vorteil es muss kein extbase / fluid initialisiert 
werden. dadurch geht das rendern schneller also beim extbase ansatz.

Eigene Page Type, mit Extbase Plugin:
 ähnlich wie userfunc, du kannst aber die extbase Objekte verwenden, falls du 
komplexe struturen nutzen willst.
Ich würde das Json aber wahrscheinlich komplett im Controller aufbereiten. Und 
direkt ausgeben. 
da deine JSON api sich nicht ändern wird wenn deine seite ein neues template 
bekommt. Und das geklammerte mit Fluid wahrscheinlich 
ein einfacher weg ist sich ins Irrenhaus zu befördern.

Gruss chris


-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Stefan Padberg
Gesendet: Sonntag, 3. August 2014 00:00
An: typo3-german@lists.typo3.org
Betreff: [TYPO3-german] Extbase, Fluid und JSON

Hallo,

wie würdet ihr das machen?

Ich möchte mit Extbase/Fluid eine Datenbanktabelle im JSON-Format ausgeben. Wie 
die Daten auf der Seite mit dem list-Plugin ausgegeben werden können, habe ich 
bereits herausbekommen (es ist etwas schwierig wegen der geschweiften Klammern, 
die sowohl von Fluid als auch von JSON benötigt werden).

Jetzt sollten die Daten in einer eigenen Datei im JSON-Format dynamisch 
abgelegt werden, damit sie auf der Seite mit dem list-Plugin über einen 
Script-Tag eingebunden werden können.

Welche Möglichkeiten habe ich mit Extbase/Fluid, um dieses Problem zu lösen?

Oder sollte man das gar nicht mit Extbase/Fluid machen? Ich habe mit Typoscript 
versucht, ein neues PAGE-Objekt mit den JSON-Daten zu füllen, aber weder mit 
CONTENT noch mit RESOURCE bin ich an die Datenbank rangekommen. RESOURCE gibt 
nur einzelne Datensätze aus, aber keine ganze Tabelle. Und mit CONTENT kann ich 
offenbar nur die tt_content-Tabelle auslesen, aber nicht x-beliebige Tabellen.

Jetzt könnte ich natürlich eine Klasse/Funktion schreiben, die die 
Datenbankabfrage erledigt, und das Resultat irgendwie in einem eigenen 
PAGE-Object ausgeben. Wo packt man so eine Klasse hin, wenn man den 
Extbase-Konventionen gerecht werden möchte?

Mir scheint das alles nicht besonders zielführend zu sein. Am ehesten noch der 
Ansatz mit dem eigenen PAGE-Objekt, wenn man es mit einem CONTENT-Objekt 
befüllen könnte. Das wäre eine reine Typoscript-Lösung, mit der ich gut leben 
könnte.

Was meint ihr dazu?

Beste Grüße
Stefan Padberg

---
Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz 
ist aktiv.
http://www.avast.com

_______________________________________________
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

Antwort per Email an