Wie wird die ZF2-Ansicht in einer JSON-Antwort gerendert?
Bisher habe ich herausgefunden, wie man eine typische JSON-Antwort in Zend Framework 2 zurückgibt. Zuerst habe ich dieViewJsonStrategy
zumstrategies
Abschnitt derview_manager
Aufbau. Anstatt aViewModel
Instanz von der Controller-Aktion, gebe ich einJsonModel
Instanz mit all meinen Variablen gesetzt.
Nachdem ich das Stück herausgefunden habe, muss ich verstehen, wie eine Ansicht gerendert und innerhalb dieser JSON-Antwort zurückgegeben wird. In ZF1 konnte ich verwenden$this->view->render($scriptName)
, das den HTML-Code als String zurückgibt. In ZF2 ist dieZend\View\View::render(...)
Methode gibt zurückvoid
.
Also ... wie kann ich ein HTML-Ansichtsskript rendern und es in einer JSON-Antwort in einer Anforderung zurückgeben?
Das habe ich gerade:
if ($this->getRequest()->isXmlHttpRequest()) {
$jsonModel = new JsonModel(...);
/* @todo Render HTML script into `$html` variable, and add to `JsonModel` */
return $jsonModel;
} else {
return new ViewModel(...);
}