Bonsoir,
J'ai un controller SeriesController et une action show(id, slug) et je voudrais que mon URL soit serie/id/slug donc pour ça j'ai créé une route dans routes.php :
Router::connect('serie/:id/:slug', array('controller' => 'series', 'action' => 'show', array('pass'=> array('id','slug'), 'id'=>'[0-9]+','slug' =>'[a-z0-9\-]+')));
Et dans mon action show j'ai :
function show($id = null,$slug = null){
if(!$id)
throw new NotFoundException('Aucune page ne correspond à cet ID');
$page = $this->Serie->find('first', array(
'conditions' => array('id' => $id)
));
if(empty($page))
throw new NotFoundException('Aucune page ne correspond à cet ID');
if($slug != $page'Serie']'slug'])
$this->redirect($page'Serie']'link'],301);
$d'serie'] = current($page);
$this->set($d);
}
Quand je me rend sur root/serie/1/how-i-met-your-mother j'ai une erreur comme quoi le controller serie n'existe pas, donc j'en conclue que ma route ne se fait pas :/
Si je me rend sur root/series/show/1/how-i-met-your-mother aucun problème sa s'affiche (logique c'est le chemin "par défaut").
Et vient le problème de redirection, lorsque je change l'url pour tester si la rediction se fait correctement je tombe sur l'URL : root/series/show/id:1/slug:how-i-met-your-mother donc il redirige bien sur le bon slug mais au niveau des paramètres c'est pas bon du tout :/
Je pense que c'est un problème de route mais je ne vois pas ou il est.
(root/ est la racine de mon site bien entendu)
Merci d'avance.