Problema: algunas veces en nuestro controlador zend no queremos que la secuencia de comandos se emita directamente, sino que más bien queremos el contenido de esa secuencia de comandos. Un ejemplo: cuando necesitamos el resultado, la salida html de un guión de vista se incluye en otra estructura como JSON o XML para el procesamiento en el lado del cliente.Cómo capturar una salida de vista Zend en lugar de realmente emitirla
Encontré el resultado aquí en el desbordamiento de pila, pero no tan rápido ya que estaba en un contexto diferente. He estado luchando con esto durante 2 días. Resultó que era muy simple:
// 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);
Espero que esto haya sido claro y sea útil para alguien.
Hola eslava. Puede compartir sus conocimientos aquí, pero este es un sitio de preguntas y respuestas. Debe publicarlo como un comentario o respuesta a la pregunta original. – takeshin
Eso es lo que haré. – Slavic