Hallo,
ich habe mehrere komplexe VH welche mir eineseits die Daten aufbereiten, gleichzeitig aber auch die Möglichkeit geben die Daten zu manipulieren. Als Beispiel einen einfachen VH für Sternbewertung (INT 1-5), welche einerseits die mittlere Bewertung anzeigt und gleichzeitig die Möglichkeit bietet selbst eine Bewertung abzugeben. Die Bewertungsabgabe funktioniert über AJAX. Soweit klappt auch alles, mit einem einzigen Schönheitsfehler: Die Bewertung stimmt natürlich nach dem AJAX CAll nicht mehr und benötigt einen Page reload. Ist es möglich den VH in entsprechenden AjaxAction aufzurufen und den Output zu übernehmen? Kennt jemand eine Extension in welche dieses Problem elegant gelöst wurde?
Besten Dank, Jürgen
Das wird nicht so einfach gehen, da du den ViewHelper ja irgendwie zuerst instanzieren und die render() Funktion aufrufen musst.. dafür bräuchtest du dann schon ein eigenes PHP Skript.
Erstelle dir einfach eine ajaxAction in deinem Controller und arbeite mit einem Dispatcher, hier ist ein gutes Beispiel: http://t3-developer.com/extbase-fluid/extensions-erweitern/ajax-in-extensions/ajax-dispatcher-eid-in-typo3-61/
Danke für die Info.
Den Ajax Call habe ich über die PageNum gelöst, da bei mir die Eid unter Typo3 6.2.5 nicht funktionierte. Ich habe nun in der aufgerufenen Action einfach ein Service injected welche die gleichen Aufgaben erledigt wie der VH. Dies ist alles andere als sauber und führt zu doppelten Quellcode. Sauberer wäre es das Service so zu bauen, dass es sowohl für den VH als auch in der AjaxAction den gleichen Zweck erfüllt oder gibt es eine bessere Lösung?