Jak renderować widok ZF2 w odpowiedzi JSON?
Jak dotąd odkryłem, jak zwrócić typową odpowiedź JSON w Zend Framework 2. Najpierw dodałemViewJsonStrategy
dostrategies
sekcjaview_manager
konfiguracja. Następnie zamiast zwracać aViewModel
na przykład z działania kontrolera, zwracam aJsonModel
przykład ze wszystkimi moimi zestawami zmiennych.
Teraz, kiedy już odkryłem ten kawałek, muszę zrozumieć, jak renderować widok i zwracać go w odpowiedzi JSON. W ZF1 mogłem użyć$this->view->render($scriptName)
, który zwrócił kod HTML jako łańcuch. W ZF2, theZend\View\View::render(...)
zwraca metodęvoid
.
Więc ... jak mogę renderować skrypt widoku HTML i zwracać go w odpowiedzi JSON w jednym żądaniu?
Właśnie to mam teraz:
if ($this->getRequest()->isXmlHttpRequest()) {
$jsonModel = new JsonModel(...);
/* @todo Render HTML script into `$html` variable, and add to `JsonModel` */
return $jsonModel;
} else {
return new ViewModel(...);
}