2010-07-22 4 views
1

Je veux utiliser les schémas d'URL dans Zend Framework comme/list? Id = 2 & name = test, quelque chose comme ça, quand je fais la redirection, j'appelle de cette façon: $this->_helper->redirector('index','list','',array('id' => 2, 'name' => 'test'));. Mais l'URL générée sera/list/index/id/2/nom/test ce qui le rend incohérent. Comment puis-je préparer un schéma d'URL comme celui-ci sans utiliser de routeurs personnalisés (j'ai plus de 10 contrôleurs pour le faire ...)?Zend Framework - Comment faire une redirection personnalisée avec l'aide redirecteur?

+0

Pourriez-vous montrer s'il vous plaît comment résolvez-vous ce problème? J'ai la même tâche, mais je ne sais pas à quoi ressemble le routeur. – Anthony

+1

http://pastie.org/1717136 C'est ce que j'ai fait, j'ai juste copié le routeur zend d'origine, puis j'ai fait quelques changements du côté des paramètres. – TheOnly92

+0

Merci beaucoup! C'est exactement ce dont j'ai besoin :) – Anthony

Répondre

1

Dans votre bootstrap.php vous pouvez remplacer la route par défaut

$front = Zend_Controller_Front::getInstance(); 
$router = $front->getRouter(); 
$route = new My_New_Route(...) 
$router->addRoute('default', $route);  

$this->_helper->redirector utilise automatiquement les routeurs par défaut méthode d'assemblage.

Malheureusement, il n'y a pas de routeur intégré qui formate les URL de la manière que vous voulez (avec paramètre? = Valeur & ... au lieu de/paramètre/valeur)

Donc, si vous voulez changer cela, vous pouvez faire une nouvelle classe

class MyRouter extends Zend_Controller_Router_Route

et remplacer la fonction assembler.

Questions connexes