I have a page called video. I want /video/abc123 to play a video with ID abc123.
I also want the page 'video' to be translatable. So it won't always be the exact word 'video'.
I previousy had it working when it didn't have to be translatable yet, but right now I'm forced to make the URL longer: /video/yt/abc123. That's because I'm using the standard $Action/$ID/$Parameter pattern, allowing me to translate the page name (can't figure out how to do it in the config otherwise). So in the example /video/yt/abc123, yt is my "action", which I have set to allowed.
But I would like to go back to just /[PageTitle]/abc123. I tried getting that to work by using the $Action as the video ID, but that doesn't work because it just says Page not Found then (despite 'allowing all actions'), because it doesn't know I'm trying to do something with the parameter rather than making it load a page. I suppose 'allow all actions' only works for functions that have actually been defined, and of course I don't have a function for each video ID.
Is there a way around this? Perhaps something with routes, but how to get around the translated page name then? Or can I in another way force the url handler to stop looking for pages, and push all parameters to just that video page (with no action checks)?
Posted to: Controller with only $ID, no $Action | Show Thread | Post Reply