Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2009, 10:10
Avatar de SergeMedina
SergeMedina
 
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
AjaxContext en ZendFramework

Hola! Tengo una aplicacion de prueba con la que estoy aprendiendo ZendFramework (quickstart de la pagina de zend).

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;
    }


}
__________________
I see dead pixels