Bonjour,
depuis mon layout principal, je voudrais faire appel a certaines action de certains controller pour en recuperer le contenu genere par la vue.
Pour ce faire, je ne pouvait utiliser la methode redirect() ou forward() car je sortirai de mon layout courant (hors je veux recuperer le resultat de l'action ds une string pour la traiter).
Ce que je pensais faire etait :
- recuperer le font controller
- activer le returnResponse
- Appeler dispatch en lui passant une requete vers la bonne action de la bonne vue
- desactiver le returnResponse
- traiter mes donnees.
Cependant, cela ne semble pas fonctionner. Il se trouve qu'une exception est levee par le plugin_controller ErrorHandler. Cette exception semble etre cree dans mon module Zend_Acl : il me dit ne pas trouver la resource 'index'. Il redirige donc vers le default controller avec la default action (Index/index)
Je ne vois pas trop ce que j'ai mal fait. Vous trouverez ci-apres mon code :
Appel manuel du front controller
L'exception est levee depuis la methode get() de la classe Zend_acl. Je ne vois pas ou intervient cette histoire de "resource".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $front = Zend_Controller_Front::getInstance(); $front->returnResponse(true); $front->setControllerDirectory(APPLICATION_PATH . '/controllers/'); $request = new Zend_Controller_Request_Http(); $request->setControllerName('MonController'); $request->setActionName('index'); $request->setPathInfo('MonController/index'); $response = $front->dispatch($request); $front->returnResponse(false);
Quelqu'un peut-il m'eclairer ?
Partager