Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour. J'ai un controller "Articles" qui contient deux actions :
- "index" : affiche tous les articles
- "article" : qui à partir de la liste des articles, affiche les informations d'un article.
J'essaie d'utiliser des router pour réécrire mes liens :
$route = new Zend_Controller_Router_Route_Static('liste-articles',array('controller' => 'articles', 'action' => 'index'));
$router->addRoute('liste-articles', $route);
$route = new Zend_Controller_Router_Route_Regex('article-(\s+)-(.+)',array('controller'=>'articles','action'=>'article'),array(1=>'id',2=>'titre'),'articles-%s-%s');
$router->addRoute('article', $route);
Quand je lance mon application, j'obtiens la liste des articles. Cependant pour afficher l'article j'ai eu le message suivant:
"Unable to find controller "article-yg0160-toto" in module "default""
J'ai réécrit mon deuxième router :
$route = new Zend_Controller_Router_Route_Regex('articles/article/(\s+)-(.+)',array('controller'=>'articles','action'=>'article'),array(1=>'id',2=>'titre'),'articles/article/%s-%s');
Mais avec ce router j'arrive pas à récupérer le "id" de l'article.
J'utilise le lien suivant :
$uri = $this->url(array(1=> valeur_id,2=>valeur_titre), 'article')
Je cherche une solution à cet erreur et merci.
Hors ligne
Tu peux nous donner l'URL que tu appelles ?
(et tu peux mettre des balises [ code] autour de tes codes)
A+, Philippe
Hors ligne
Bonjour. L'URL que j'utilise est :
[ $uri = $this->url(array(1=> valeur_id,2=>valeur_titre), 'article') ;]
Hors ligne