Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je suis novice en ce qui concerne Zend alors s'il vous plait ne hurlez pas tout de suite en voyant mes questions de noob .
Mon problème est que j'ai créé dans le controleur une action qui réalise l'upload d'un fichier. Une fois l'upload terminé j'aimerai que le navigateur me redirige vers une autre vue appellée validerUpload qui me confirme que le fichier a été uploadé et propose un lien vers plusieurs redirection.
Donc ma question est, comment je dois faire pour passer proprement de ma vue courante à une autre vue dans le fichier du controleur en utilisant la redirection?
Merci d'avance!
Dernière modification par Mr.MoOx (24-07-2008 10:04:18)
Hors ligne
Moi aussi je suis pas très doué dans le Zend Framework parce que je débute, et j'ai donc pas mal de question de newbie aussi ...
J'ai découvert ça il y a pas longtemps la différence entre le $this->_forward() et le $this->_redirect() dans un contrôleur :
- Le forward te permet d'exécuter le code d'une action d'un contrôleur et continuer à exécuter le code qui suit. Il te permet d'utiliser les variables définie précédemment dans Zend_Registry par exemple.
- Le redirect fait un nouvel appel au bootstrap ... et tu es de nouveau rédirigé vers l'action du contrôleur qui va bien.
Si tu veux garder le nom du fichier qui a été récement uploadé, je te conseil forward en aillant mit le nom du fichier comme ça :
Zend_Registry::set('nomfichierupload',$nomdufichier);
Par contre, je crois que tu t'es mélangé les pinceaux :
c'est pas le navigateur qui redirige mais le serveur et c'est pas vers une vue, mais vers une action d'un contrôleur qui va afficher une vue.
Ensuite, je pense pas que tu veuilles passer le fichier d'une action à une autre, mais plutôt son nom ou son url sur le serveur... le fichier est sur le serveur bien au chaud ...
Le nom ou l'url du fichier suffit pour afficher un lien pour un téléchargement ( par exemple )
Je sais pas si je suis très clair ... mais j'espère que ça t'aidera ...
Dernière modification par Jocio (22-07-2008 15:28:50)
Hors ligne
Merci pour cette réponse rapide, mais finalement comment je passe d'une action à une autre. Par exemple je suis dans le controlleur dans la fonction uploadAction(). Dans cette fonction qu'est ce que je dois utiliser pour me rediriger vers l'action validerUpload() (par exemple). Si je dois utiliser _redirect ou _forward peu importe pour le moment je ne vois pas bien ce que je dois passer en paramètre de cette fonction.
Merci encore pour ton aide!
Hors ligne
va voir sur : http://framework.zend.com/manual/fr/zen … ction.html
rechercher "_forward" ou "_redirect" dans cette page et tu trouveras l'aide de ces 2 fonctions ...
Sinon, tu peux toujours aller voir dans le fichier Zend/Controller/Action.php
ligne 643 : _forward()
ligne 673 : _redirect()
Après, c'est à toi de voir ce qu'il te faut ...
Hors ligne
Bon j'ai trouvé comment faire une redirection grace à votre aide .
Dans la fonction redirect on doit passer en parametre: $this->_redirect('nomControlleur/nomAction').
Ca servira peu etre à d'autre.
Merci encore
Hors ligne
Pages: 1