Bonjour,
je construit une liste de posts avec une pagination et des actions basiques (modifier / supprimer). Par exemple, j'affiche 10 posts par page, si j'ai 21 posts, la liste est paginés sur 3 pages dont la derniere ne contient qu'un post. lorsque je supprime le dernier post de la liste, je devrait me retrouver sur la page 2, mais ce n'est pas le cas, c'est la page 3 qui se recharge, mais vide et avec une erreur.

"Not Found - L'adresse '/espacemembres/list_posts/page:3' n'a pas pu �tre trouv�e sur ce serveur"

le problême est là ! quelqu'un sait il ce que je dois faire ? si il y a un paramètre spécifique ou un script à ajouter... merci de votre attention

2 réponses


Lartak
Réponse acceptée

Bonsoir.
Dans ta fonction de suppression, il te suffit de faire une redirection sur le listing sans paramêtre dans l'url.
Donc, si dans ton cas c'est l'action list_posts, après ta requête de suppression tu fais :

$this->redirect(['action' => 'list_posts']);

C'est du moins la manière la plus simple.

Yop.

Sinon t'utilises le try $this->paginate(...) catch sur Cake\Network\Exception\NotFoundException et si l'erreur est capturé, tu rediriges vers la dernière page. Tu as toutes les meta-données de pagination avec $this->request->params['paging']. ^^