Bonjour tout le monde !
J'ai un petit souci avec mon blog que je dev avec Cake, dans la page index des différents posts, j'ai une barre qui me permet de choisir la catégorie des posts à afficher.
Je vous met un aperçu :

Une fois que je clique sur une catégorie j'ai une URL de ce genre :
local.dev/posts/graphics
Mon problème survient quand une catégorie contient suffisemment de posts pour être "paginée", et que je clique sur le boutton "Next Page" l'URL devient ainsi :
local.dev/posts?page=2
Au lieu de :
local.dev/posts/graphics?page=2
J'ai beau chercher je ne vois pas d'où cela pourrait venir, j'ai checké au niveau des routes, je pense les avoir bien configurés, j'ai essayé de voir du côté du Paginate et du Paginator...
Je vous mets les bouts de codes concernés :
routes.php
Router::scope('/posts', function($routes) {
$slug = '[0-9a-z\-]+';
$routes->connect('/:category', ['controller' => 'Posts', 'action' => 'index'], ['category' => '[a-z]+']);
$routes->connect('/:slug', ['controller' => 'Posts', 'action' => 'view'], ['slug' => $slug]);
});
PostsController.php
public function index()
{
$category = $this->request->param('category');
if( $category )
$this->paginate['conditions'] = ['Categories.slug' => $category];
$this->set('posts', $this->paginate($this->Posts));
$this->set('_serialize', ['posts']);
}
pagination.ctp ( J'ai crée la partie pagination en tant qu'element )
<center>
<nav>
<ul class="pagination">
<?= $this->Paginator->prev('< ' . __('previous')) ?>
<?= $this->Paginator->numbers() ?>
<?= $this->Paginator->next(__('next') . ' >') ?>
</ul>
</nav>
<?= $this->Paginator->counter(['format' => 'Page {{page}} of {{pages}}, showing {{current}} records out of
{{count}} total, starting on record {{start}}, ending on {{end}}']) ?>
</center>
Voila j'espère que vous pourrez me venir en aide :P
Merci d'avance et bonne journée !