Page 1 of 1

[Opgelost] Pretty url in eigen module

Posted: Sun Jan 31, 2010 10:53 pm
by johnmurray
Hallo allemaal,

Mijn eerste post op dit forum. Werk nu enige tijd met CMSMS en tot nu toe met zeer goede ervaringen. Toch een vraagstuk tegengekomen waar ik op het forum geen duidelijk antwoord op kan krijgen:

Ik ben momenteel bezig met een eigen module, wat uiteindelijk een catalogus moet worden. Nu wil ik daar pretty-url's voor gebruiken. Ik krijg het werkend zodra ik de return-id toevoeg aan de url (www.mijnwebsite.nl/catalogus/artikel1/57), maar nu wil ik de return-id weghebben, en kunnen navigeren met www.mijnwebsite.nl/catalogus/artikel1

Wie heeft er voor mij duidelijke informatie hoe ik dit kan behalen (intern of met een htacces), of heeft iemand hier een mooie oplossing voor?

Gr. John

Re: Pretty url in eigen module

Posted: Sun Jan 31, 2010 11:05 pm
by Jos
Volgens mij moet de return-id altijd eraan toegevoegd worden, het maakt niet uit op welke plaats in de url. Je zou er dus ook zoiets van kunnen maken als www.mijnwebsite.nl/catalogus-57/artikel1.

De return-id geeft aan in welke pagina de module geladen moet worden. Als je de module dus via een andere pagina aanroept, zal het nummer anders zijn. Bij News heb je bijvoorbeeld nog een parameter "detailpage". Daarmee wordt ook de return-id vastgelegd.

Vantevoren weet je niet waar een gebruiker je moduletag plaatst, daarom kun je het niet hard coderen.

Re: Pretty url in eigen module

Posted: Sun Jan 31, 2010 11:11 pm
by johnmurray
Dan denk ik dat ik daar maar mee ga werken. Levert denk ik het minst aantal problemen op met eventuele andere modules...

Re: [Opgelost] Pretty url in eigen module

Posted: Sun Jan 31, 2010 11:15 pm
by Jos
Hoe een pretty url uitgelezen wordt, moet je in je eigen module regelen via "RegisterRoute", zie hier voor wat uitleg:

http://wiki.cmsmadesimple.org/index.php ... clean_URLs

Re: [Opgelost] Pretty url in eigen module

Posted: Sun Jan 31, 2010 11:31 pm
by johnmurray
Heb ik inderdaad gevonden (en gebruikt). Het werkt perfect zo, alleen ik vroeg me dus af of de return-id uit de url gelaten kon worden....

Re: Pretty url in eigen module

Posted: Wed Feb 03, 2010 4:16 pm
by johnmurray
Heb toch deze topic maar even 'on-opgelost'.

Zoals bovenstaand te lezen is, zou het in principe niet mogelijk zijn om zonder return-id een pretty url te maken.

Is er echt geen mogelijkheid om deze weg te laten? De url's zullen namelijk gebruikt worden in o.a. een catalogus bij artikelen. En wees eerlijk: /catalogus/art001 ziet er beter uit dan: /catalogus/art001/57

De situatie zoals deze is: de gebruiker kan een pagina aanmaken (bijvoorbeeld 'catalogus') en daarop de tag naar de module plaatsen.  Op deze pagina wordt dan de catalogus weergegeven. Klikt een bezoeker op een artikel, dan verandert de url in /catalogus/artikelnummer en wordt dat artikel weergegeven.

Iemand met een fantastisch idee?

Re: Pretty url in eigen module

Posted: Wed Feb 03, 2010 4:36 pm
by Jos
Je zou eens kunnen kijken wat er gebeurt als je "cntnt01" hard codeert als returnid in de registerRoute.

Of anders misschien de page id in een cooky stoppen en deze in de registerRoute weer uitlezen? Ik ben zelf niet zo gek op cookies voor dit soort aangelegenheden, maarja, het is jouw feestje  8)

Re: Pretty url in eigen module

Posted: Thu Feb 04, 2010 6:02 pm
by johnmurray
Zullen  toch maar met de /57 in de url moeten leven. In ieder geval bedankt!

Re: [Opgelost] Pretty url in eigen module

Posted: Thu Feb 04, 2010 6:07 pm
by Jos
Zoals gezegd, je hoeft die id niet als laatste in de url te plaatsen. Kan ook zoiets zijn als /modulenaam/57/catalogus/art001

zie bijv. de News module