Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] CRUD: ne pas rediriger sur view après create

Posted by Mathieu147 on 02/14/2010 10:40

Bonjour,

J'utilise un contrôleur CRUD, qui, par défaut, redirige vers l'action view après avoir créé ou modifié un enregistrement. Je crée dans mon crud des objets assez simples et donc la page view ne sert à rien. Je voudrais directement retourner à la liste des enregistrements de mon module qui s'appelle forms.

J'ai donc fait comme ça:

  protected function _afterCreate($form, $id, $resp) {
<code>
    $resp = $this->getResponse('redirect');
    $resp->action = 'forms~admin:index';
    return $resp;
  }
  
  protected function _afterUpdate($form, $id, $resp) {
    $resp = $this->getResponse('redirect');
    $resp->action = 'forms~admin:index';
    return $resp;
  }
</code>

Mais ça ne fonctionne pas: je suis toujours redirigé vers view, comment est-ce que ça se fait??

Merci!

  [Opened] Re: CRUD: ne pas rediriger sur view après create

Reply #1 Posted by laurentj on 02/14/2010 15:25

Salut,

nulle part dans la doc il n'est dit que tu pouvais renvoyer un objet reponse dans ces méthodes, encore moins dans la doc de référence où il est précisé qu'il n'y a pas de valeur de retour ;-)

Et tu auras remarqué que tu reçois un objet réponse dans ces méthodes. C'est justement un jResponseRedirect, la réponse renvoyée après la sauvegarde. Change juste l'action de cet objet.

  [Opened] Re: CRUD: ne pas rediriger sur view après create

Reply #2 Posted by Mathieu147 on 02/14/2010 15:55

Bon ben voilà, tout le monde s'en doute: ça fonctionne :-D

Merci!

 
Page
  1. Re: CRUD: ne pas rediriger sur view après create