Bonjour tout le monde,
Voilà j'ai un soucis avec l'url rewriting de mes pagination.
Voici en premier lieu mon route
Router::connect('/account/myfollowed/:slug-:id/*', array('controller' => 'users', 'action' => 'myfollowed', 'owner' => true), array('pass' => array('id', 'slug')));
Afin d'obtenir cela
/account/myfollowed/vente-1/
Jusque là tout fonctionne bien.
Pour les besoin de mon site, j'ai mis en place une pagination. Le soucis c'est que cela me retourne des url du style
/owner/users/myfollowed/1/vente/page:2
J'ai testé en entrant directement l'url
/account/myfollowed/vente-1/page:2
et cela fonctionne.
Après avoir cherché un bon moment et avoir testé plusieurs soluces, j'en suis arrivé à le faire fonctionner en faisant cela
$this->Paginator->options = array('url' => array('id' => $this->Paginator->params'id'], 'slug' => $this->Paginator->params'slug']));
Je trouve cela pas très propre donc j'écris ce post en espérant que quelqu'un puisse m'aider à faire cela plus proprement.
Merci bien.
Dans ton paginator tu pourrais enlever le passage par l'objet Paginator? (c'est une supposition!)
$this->Paginator->options = array('url' => array('id' => $this->params'id'], 'slug' => $this->params'slug']));
& dans ton router tu peux rajouté les regex comme validation
Router::connect(
'/account/myfollowed/:slug-:id/*',
array('controller' => 'users', 'action' => 'myfollowed', 'owner' => true),
array( 'pass' => array('id', 'slug')
'id' => '[0-9]+',
'slug'=>'[a-zA-Z\-]+'
)
);
J'espère ne pas m'être trompé :)
Merci d'avoir répondu, malheureusement cela ne fonctionne pas.
Toujours
/owner/users/myfollowed/1/vente/page:2