Peut-on faire passer plusieurs paramètres dans une url du genre l'id d'un post ou son slug mais n'afficher que le slug dans la route ?
L'id servirais que pour le controller à ce moment là.

7 réponses


Maenhyr
Réponse acceptée

Ce n'est pas possible, ce sont des requêtes GET que tu effectues, c'est à dire que tous les paramètres sont visibles dans l'url. Si tu souhaites avoir une belle url avec le slug, tu vas devoir faire une recherche de l'id à partir du slug dans ton Controller.

Digikube
Auteur

Tenpis j'afficherais l'id dans l'url alors ça me plait pas trop mais bon j'ai pas le choix ... :)
Merci de l'info ;)

Tu peux faire une validation sur ton slug pour qu'il soit unique. Cela reviendra au même principe que l'id et sera meilleur en terme SEO.

Effectivement il serais beaucoup mieux d'utiliser un slug en t'assurant qu'il soit unique, cela serait plus jolie :)

Digikube
Auteur

Sauf que mes slugs ne sont pas unique si je souhaite faire une partie profil et affiche l'url du genre profil/prenom-nom il se peut que plusieurs personnes aient le même prénom et même nom.

Dans ce cas ajoute simplement un id pour faire une url du genre : monsite.com/profil/23/steve-cormier ou un truc dans ce genre.

Digikube
Auteur

C'est ce que j'ai fait mais j'aurais aimer ne pas le faire :P