Problem: Manchmal möchten wir in unserem Zend-Controller nicht, dass das Skript direkt ausgegeben wird, sondern den Inhalt dieses Skripts. Ein Beispiel: Wenn wir das Ergebnis benötigen, muss die HTML-Ausgabe eines View-Skripts in einer anderen Struktur wie JSON oder XML zur Verarbeitung auf der Client-Seite enthalten sein.Wie man eine Zend-View-Ausgabe erfasst, anstatt sie tatsächlich auszugeben
Ich fand das Ergebnis hier bei Stapelüberlauf, aber nicht so schnell, da es in einem anderen Kontext war. Ich habe jetzt seit 2 Tagen damit zu kämpfen. Wie sich herausstellte war es sehr einfach:
// in our controllers' action method
$this->_helper->layout()->setLayout('empty'); // disable layout
$this->_helper->viewRenderer->setNoRender(true); // make sure the script is not being rendered
// any of your code here
$html = $this->view->render('projects/climate.phtml'); // return the view script content as a string
$json = array('html'=>$html, 'initData'=>'my other needed data');
echo json_encode($json);
Ich hoffe, das war klar, und wird an jemanden nützlich sein.
Hallo slawischen deaktivieren. Sie können gerne Ihr Wissen hier teilen, aber dies ist eine Q & A-Site. Sie sollten es als Kommentar oder Antwort auf die ursprüngliche Frage veröffentlichen. – takeshin
Das werde ich tun. – Slavic