Viendo este ejemplo del manual:
Código PHP:
Veo que un action tiene dos vistas, por ejemplo el action "form" form.phtml y form.ajax.phtmlVer original
class CommentController extends Zend_Controller_Action { public function init() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('view', 'html') ->addActionContext('form', 'html') ->addActionContext('process', 'json') ->initContext(); } public function viewAction() { // Tirar para ver un único comentario. // Cuando se detecta AjaxContext, utiliza el script de vista // comment/view.ajax.phtml. } public function formAction() { // Mostrar el form "add new comment". // Cuando se detecta AjaxContext, utiliza el script de vista // comment/form.ajax.phtml. } public function processAction() { // Procesar un nuevo comentario // Devolver los resultados como JSON; simplemente asignar los // resultados como variables de la vista, y se devolverán como JSON. } }
Esto es lo que entiendo yo: si el zend detecta una llamada XmlHttpRequest muestra el form.ajax.phtml, sino muestra la vista normal o sea form.phtml.
Aqui mi duda: si la llamada no es XmlHttpRequest en esa vista yo muestro un formulario, ese mismo formulario quiero enviar los datos por ajax, en la proxima llamada envio mediante jquery la llamada XmlHttpRequest, alli es cuando devuelve el form.ajax.phtml, ahora si solo tengo un action, como hago en el controlador para no mezclar los datos de las dos vistas?
Espero que se entienda.
Saludos y gracias.