So on 3.2.1 and before if I wanted to do this I would
add the route
create a "show" or similar function
have it return the customize info
create the template
and done I can now display my DataObject using getURLParameters().
If I try and do this in 3.3 I can't get the template to display. It just ignores it and uses the base page.ss template. If I downgrade to 3.2.1 and change nothing about my code it all works as expected.
I am assuming something changed along the way just not sure what.
Thanks for any help.
EDIT----
So it appears it has something to do with how I am routing as url_parameters works
routing looks like this
---
Name: myroutes
After: framework/routes#coreroutes
---
Director:
rules:
#'project//$Action/$ProjectID/$CustomerID': 'ProjectPage_Controller'
url parameters looks like this
private static $url_handlers = array(
'show/$ProjectID/$CustomerID' => 'show'
);
What am I doing wrong here with the route? I would prefer to use the route.yml instead of url_parameters.
-- EDIT SOLVED
My fault for not reading beyond what I thought was relevant to me ie routes.yml. It says in the docs under that part
You must use the $url_handlers static array described here if your URL pattern does not use the Controller class's default pattern of $Action//$ID/$OtherID. If you fail to do so, and your pattern has more than 2 parameters, your controller will throw the error "I can't handle sub-URLs of a class name object" with HTTP status 404.
Not sure why this worked previously and now I have to go this route but there it is.