Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un problème avec _forward : ca fait planter apache. En fait, pas completement planter : le processus continue mais dans 'error.log', il me marque qu'il a rencontré un 'segementation fault' et donc le processeur s'emballe +/- 60% tant que j'arrete pas le chargement de la page.
Ce que je veux faire : j'ai une action 'gestion' (une sorte de panneau de gestion)dans un controlleur 'membre', et lorsque'il choisisse 'newsletter', je veux qu'il puisse gerer leur newsletter. Mais comme je ne veux pas quiiter la page qui est mon panneau de gestion, je fais un forward pour executer le code du controlleur 'newsletter'.
J'espère être assez clair.
Voici les codes correspondant :
pour l'action gestion, le forward est dans le cas du param 'newsletter' :
public function gestionAction() { $this->view->titre = 'Console de gestion'; $membresTable = new Membres(); $membre = $membresTable->getMembre($this->auth->getIdentity()->id_mbr); $module = 'defaut'; $param = $this->getRequest()->getParam('cat'); switch( $param ) : case 'mdp' : $module = 'modif_mdp'; if ( $this->getRequest()->isPost() ) : endif; break; case 'documents': $module = 'documents'; break; case 'newsletter' : $module = 'newsletter'; $this->_forward('index','newsletter'); break; endswitch; $this->view->module = $module; }
La fonction index du controlleur 'newsletter' : (ne contient rien, et le fichier template a juste une phrase de test)
public function indexAction() { }
Merci de votre aide.
Je suis aussi ouvert à tous conseil s'il existe une meilleure solution pour faire ce que je veux
Nicolas
Hors ligne
C'est plutot un $this->_redirect que tu dois utiliser
Hors ligne
C'est justement ce que j'aimerai éviter, car je voudrais rester dans ma logique de navigation. Je suis dans une interface de gestion avec différents onglets; si je redirige alors la logique - et l'url ..../gestion/XXX - vont être perdu.
Hors ligne
Hello,
$url = $this->_helper->url(array('action'=>'index','controller'=>'newsletter')); $this->_helper->redirector($url);
et tu ne perds rien de ton url initial.
A+
Hors ligne