8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je me lance dans le développement et Alsacreations m'a déjà bien aidé mais là je bloque.
J'utilise CodeIgniter et je souhaite modifier les URL exemple :

http://www.monsite.com/site/pagecat/1

et avoir http://www.monsite.com/description-qu-on-veut-1.html

Donc dans routes.php j'ai mis :

$route['[a-z\-]+\-([0-9]+)\.html'] = "site/pagecat/$2";


La redirection fonctionne mais comment récupérer $2 dans ma function pagecat{}???

Merci

Ori
Modifié par elsodev (18 Aug 2011 - 13:55)
Merci pour cette réponse rapide

Oui c'est que je croyais, mais si je fais echo $this->uri->segment(3) c'est vide Smiley decu
As-tu une erreur affichée ? Juste au cas où, as-tu testé avec 2, voire 1, pour vérifier que tu obtiens bien 'site' et 'pagecat' ?
Oh, j'avais mal compris ta demande. Au temps pour moi. Il n'y a effectivement pas d'erreur affichée, car $this->uri->segment(3) te renverra false, je suppose. Tu veux récupérer le 1 qui est après le - et avant le .html, c'est ça ?

Tu peux tenter $this->uri->uri_string(), qui devrait te renvoyer description-qu-on-veut-1.html, et faire un traitement sur la chaîne de caractères.
Merci ça marcherai aussi mais j'ai trouvé plus simple, il faut utiliser :

$this->uri->[b]r[/b]segment(3); 


Si ça peut aider Smiley biggrin

SUJET RESOLU
Tiens, ça m'était passé sous le nez, ça. J'ai lu la page je ne sais combien de fois - au boulot nous développons sur une base CodeIgniter aussi - et je ne l'ai pas vu.
Super que tu aies trouvé Smiley biggrin