Le añadi mas funcionalidades como un buscador, y quiero que este busque via AJAX, uso el helper de AjaxContext que se supone que deshabilita los layouts y vistas y asigna una vista alterna, en este caso index.ajax.phtml. Intente de varias formas pero no funciona, será que me falta especificar algo?
La hice funcionar deshabilitando manualmente los layout y renderizacion de vista, y renderize la vista alterna, pero se supone que ese es el trabajo de AjaxContext.
Dejo el Controller:
Código PHP:
<?php
class GuestbookController extends Zend_Controller_Action
{
public function init(){
$ajaxContext = $this -> _helper -> getHelper('AjaxContext');
$ajaxContext -> addActionContext('index','html')
-> initContext();
}
public function indexAction(){
$search = new Default_Form_Search();
$guestbook = new Default_Model_Guestbook();
if($this->getRequest()->isPost()){//Aqui viene del buscador mediante AJAX
if($search->isValid($this->getRequest()->getPost())){
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$this->view->entries = $guestbook->searchByAuthor($search->getValue('word'));
$this->renderScript('guestbook/index.ajax.phtml');
}
}
$this->view->entries = $guestbook->fetchAll();
$this->view->search= $search;
}
public function signAction(){
$request = $this->getRequest();
$form = new Default_Form_Guestbook();
if($this->getRequest()->isPost()){
if($form->isValid($request->getPost())){
$model = new Default_Model_Guestbook($form->getValues());
$model->save();
return $this->_helper->redirector('index');
}
}
$this->view->form = $form;
}
}