Bonjour,
J'ai un problème de routing,
J'ai un controller forum qui a une action view et voici le routing pour celle-ci qui fonctionne bien.
Router::connect('/forum/:slug-:id', array('controller'=>'forum','action'=>'view'),array('pass'=>array('id','slug'), 'id'=>'[0-9]+', 'slug'=>'[a-z0-9\-]+'));
Dans cette vue J'affiches aussi les reponses à ce sujet, ainsi j'ai aussi paginer les reponses mais voici le format actuel des urls de pagination des reponses
/forum/view/7/this-is-a-question/page:2
mais moi J'aimerai un format du genre
/forum/this-is-a-question-7/page/2
Merci
Merci pour ta reponse Pewel,J'ai trouvé la reponse à mon problème.
J'ai trouvé ces lignes de code sur un site à ajouter dans ma vue 'view.ctp'
$this->Paginator->options(array
('url'=> array(
'controller' => 'products',
'action' => 'index',
'brand'=>$this->params'brand']
)));
et Je l'ai modifié comme ça,
<?php $this->Paginator->options(array
('url'=> array(
'controller' => 'forum',
'action' => 'view',
'id'=>$forum'Forum']'id'],
'slug'=>$forum'Forum']'slug']
))); ?>
et ça fonctionne très bien.
Merci.
essaies comme ceci :
Router::connect('/forum/:slug-:id/*', array('controller'=>'forum','action'=>'view'),array('pass'=>array('id','slug'), 'id'=>'[0-9]+', 'slug'=>'[a-z0-9\-]+'));
Tente:
Router::connect('/forum/:slug-:id/page/:page', array('controller'=>'forum','action'=>'view'),array('pass'=>array('id','slug'), 'id'=>'[0-9]+', 'slug'=>'[a-z0-9\-]*', 'page'=>'[0-9]+'));
Merci à vous Kareylo et mikachu! J'ai essayé vos deux propositions mais ça ne marche pas J'ai toujours le même format.
Ca c'est la route, mais est ce que tu as changé le lien sur ta vue ?
Je sais pas trop comment expliquer ça, mais en gros le router ne fait que "capter" l'url et y associe une action. Donc de l'autre côté, il faut que tu t'arranges pour que quand on clique sur un lien, ça prenne la forme de cette url-là.
Parce que ce que t'ont donné Kareylo et Mikachu, ça fonctionne.