J'ai le contrôleur suivant qui a, entre autres méthodes, celui-ci:
class EquipasController extends OccControllerAction {
public function listaAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
}
}
Je m'attendais à cela, quand je fais: http://www.example.com/equipas/lista/
le contrôleur s'exécutera et je ne verrai aucun rendu de mise en page dans ma fenêtre.
Cependant, ce n'est pas le cas. Je reçois ma page d'accueil rendue.
Où sur ZF dit-on normalement: si une action n'existe pas, une page d'accueil doit apparaître?
Remarque: Si, au lieu de: http://www.example.com/equipas/lista/
Je fais, http://www.example.com/equipas/adasdas21232131/ qui n'existe pas.
Je reçois le même rendu de la page d'accueil.
Quelle pourrait être la cause d'un tel comportement?
Un débutant Zend, MEM
Cela ne répond peut-être pas directement à votre question (ce que vous semblez avoir résolu de toute façon), mais pour désactiver la présentation et fournir une vue différente pour les demandes AJAX, envisagez d'utiliser l'aide/ AjaxContext action.
Ajoutez ceci dans votre contrôleur:
public function preDispatch(){
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
dans zf2
public function indexAction()
{
echo "json"
return $this->getResponse();
}