1. if you want, you can use page for your prefix, if you'll never use the xf pages. (just overwrite the route)
2. I'm too lazy to check your code, but you should start debugging.
Check your router, if your page_link is set
if yes, next step=> check your controller if he "recives" the right page_link.
if yes, next step => check what _getPageOrError is returning
etc.....
so you'll find the problem