Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'utilise le helper URL de cette façon :
$url = '<a href="'. $view->url(array('controller'=>$controlleur, 'module'=>$module, 'action'=>$action)) .'">'.$nom.'</a>';
Ca fonctionne bien sauf que si j'ai des paramètres dans mon url, alors le code généré par URL() me rajoute ces éléments. Du coup, quand je clique sur un lien, j'ai des erreurs incroyable.
J'insiste bien sur le fait que j'ai ce pb lorsqu'il existe déjà des infos sur la ligne URL, car dans les cas standards, je n'ai pas de problème.
Merci
Dernière modification par whitespirit (30-04-2008 14:59:11)
Hors ligne
Par exemple, j'ai l'url suivante : http://localhost/monsite/module/controller/action/param1/val1/param2/val2. J'appelle le helper url
$view->url(array('controller'=>'new_ctrl', 'module'=>'new_mod', 'action'=>'new_act'))
le helper me retourne
http://localhost/monsite/'new_mod/new_ctrl/new_act/param1/val1/param2/val2. et conserve les paramètres présents sur l'url.
Hors ligne
Il me semble que pour les routes, on leur donne un nom, et que ce nom doit être précisé au helper en premier paramètre.
url($urlOptions, $name, $reset) : crée un URL basé sur une route nommée. $urlOptions doit être un tableau associatif avec des paires de clés/valeurs utilisées par une route particulière.
A quoi ressemble ta route?
Dernière modification par Mr.MoOx (30-04-2008 10:14:35)
Hors ligne
Excuse moi, je ne comprends pas vraiment ce que tu veux dire.
Contrètement je passe ses valeurs au helper : $view->url(array('controller'=>'index', 'module'=>'societe', 'action'=>'ajouter')) et j'attends en retour "http://localhost/monsite/societe/index/ajouter" mais j'ai à la place : "http://localhost/monsite/societe/index/ajouter/param1/val1/paramN/valN" ou les paramN sont dans l'url au moment de l'appel au helper.
Hors ligne
J'ai bien compris ton soucis, mais là je pense que voir la définition de tes routes permettraient de cibler le soucis plus facilement.
Hors ligne
Dans mon bootstrap j'ai :
$router->addRoute('mod', new Zend_Controller_Router_Route(':module/:controller/:action/*'));
Tu crois que c'est de là que viens le pb ?
Hors ligne
Voilà ta route s'appelle 'mod' tu dois donc le spécifié ainsi
//Regarde le dernier paramètre ! $view->url(array('controller'=>'new_ctrl', 'module'=>'new_mod', 'action'=>'new_act'), 'mod');
Sinon avec cette portion de code, je ne vois pas d'où viens tes params supplémentaires...
Hors ligne
C'était effectivement dans cette portion de code, il fallait ajouter un dernier paramètre "$reset" et le positionner à true et voilà, tu as résolu mon pb qui pourrissait mes menus...
Merci beaucoup Mr MoOx, tu assures !!!
Hors ligne
Pages: 1