2010-11-26 16 views
15

tengo el siguiente controlador que, entre otros métodos que tiene éste:Zend: cómo desactivar el diseño en una acción determinada?

class EquipasController extends OccControllerAction { 

    public function listaAction() 
    {  
     $this->_helper->viewRenderer->setNoRender(true); 
     $this->_helper->layout->disableLayout(); 
    } 
} 

yo esperaba que, cuando lo haga: http://www.example.com/equipas/lista/

el controlador ejecutará y voy a ver ninguna prestación diseño en mi ventana gráfica

Sin embargo, ese no es el caso. Obtengo mi página de inicio renderizada.

Donde en ZF solemos decir: si una acción no existe, ¿debería aparecer una página de inicio?

Nota: Si, en lugar de: http://www.example.com/equipas/lista/

hago, http://www.example.com/equipas/adasdas21232131/ que no existe.

Obtengo la misma representación de la página de inicio.

¿Cuál podría ser la causa de tal comportamiento?

Un Zend Novato, MEM

+0

algo malo con mi pregunta? ¿Debo proporcionar más detalles? ¿Estoy diciendo algo tonto? Por favor hagamelo saber. Atrapado aquí. – MEM

+0

¿Podría especificar su problema? ¿Desea deshabilitar el diseño o desea redirigir a la página de inicio cuando una acción no existe? – Nedec

+0

Gracias. No. No quiero deshabilitar el diseño ni redireccionar a la página de inicio cuando la acción no existe. Lo que quiero es, cuando lo hagamos: http://www.mysite.com/equipas/lista/ (SO, cuando llamamos a la acción lista) el diseño no se usa. ¿Por qué? Para ajax llama por ejemplo. Gracias. – MEM

Respuesta

5

Esto no puede responder a su pregunta directa (que parece que han resuelto todos modos), pero a deshabilitar el diseño y ofrecer una visión diferente de peticiones AJAX, considere el uso de la AjaxContext ayudante de acción

+0

¿Eso me ayudará a resolver algunos problemas de enlaces profundos? – MEM

20

Añadir esto dentro de su controlador:

public function preDispatch(){ 
     $this->_helper->layout()->disableLayout(); 
     $this->_helper->viewRenderer->setNoRender(true); 
    } 
0

en ZF2

public function indexAction() 
    {  
     echo "json" 
     return $this->getResponse(); 
    } 
Cuestiones relacionadas