Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous
J'ai un formulaire dans une vue. Ce dernier utilise la methode GET. Ma question est la suivante:
Comment faire pour que l'affichage des parametres lors de la validation s'affiche sous la forme:
/paramX/valeurX au lieu de ¶mX=valeurX
?
Merci et bonne journée
Hors ligne
sa se fait tout seul avec $this->url das la vue lors de la création de ton lien
Hors ligne
Merci de ta réponse....
Cependant, mon formulaire est ecrit en HTML dans ma vue (phtml)
<form method="GET" action="#">
Lors de la soumission le formulaire envoi les paramètres par l'url avec la syntaxe suivante ?var=x&var2=y Je pense qu'il faut que j'utilise l'url rewriting pour transformer la syntaxe avec des /
Quelqu'un a t-il une idee?
Hors ligne
je pense ce que c'est comportement de base d'une requête GET d'avoir de formater en ?parm+val¶m2=val
l'une des solutions ,c'est de passer par un plugin pour faire jolie et formater en "/parm/val/param2/val" il existe un inconvénient à cette méthode t'aura à chaque coup deux requêtes exécutées
du coup je te conseil de laisser tel quel.
Dernière modification par yveson33 (25-04-2010 08:15:12)
Hors ligne
j'avais exactement le même besoin. J'ai implémenté la solution trouvée ici : http://ciaranmcnulty.com/blog/2008/11/k … -framework
(chargement d'un plugin sur le front controller, qui implémente une fonction routeShutdown permettant de faire justement ce que tu recherches). Ca marche nickel dans mon cas.
Hors ligne
Super Que du bonheur... Voici le plugin qui fonctionne à merveille
<?php /** * Plugin that cleans up querystrings in GET submissions */ class My_Controller_Plugin_CleanQuery extends Zend_Controller_Plugin_Abstract { public function routeShutdown( Zend_Controller_Request_Abstract $request ) { if( count( $request->getQuery() ) ) { $router = Zend_Controller_Front::getInstance()->getRouter(); $url = $router->assemble( array_reverse( $request->getQuery(), true ), null, false, true ); $this->getResponse()->setRedirect( $url )->sendResponse(); exit; } } }
Hors ligne