- Taco V

- Groep: Moderators
- Posts: 798
- Actief sinds: 12-08-2008
Ik zit met een klein maar vervelend probleem. Het vervelende is dat ik vrij zeker weet dat het ooit wel heeft gewerkt :)
Ik heb een third party bundle in Symfony2 (FOSUserBundle) en daar wordt een routing-file meegeleverd:
Nu vind ik die routes prima, maar ik wil ze graag mijn eigen (Nederlandse) url's kunnen geven. Wat ik heb geprobeerd is dit:
Mijn idee was dat de andere keys van de route "fos_user_registration_register" zouden blijven bestaan (Defaults met _controller in dit geval) en dat alleen de pattern werd overschreven. Nu gebeurt dat eerste wel netjes, maar Defaults is leeg:
Als ik ernaar browse krijg ik niet de route-bestaat-niet-melding ("No route found for "GET /meedoen"") maar duidelijk een andere ("Unable to find the controller for path "/meedoen". Maybe you forgot to add the matching route in your routing configuration?")
De andere routes (/register/check-email, /register/confirm/eentokenABC123, etc) werken nog prima.
Weet iemand hier een nette oplossing voor?
Ik heb een third party bundle in Symfony2 (FOSUserBundle) en daar wordt een routing-file meegeleverd:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <!-- FOSUserBundle/Resources/config/routing/registration.xml --> <?xml version="1.0" encoding="UTF-8" ?> <routes xmlns="http://symfony.com/schema/routing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd"> <route id="fos_user_registration_register" pattern="/"> <default key="_controller">FOSUserBundle:Registration:register</default> </route> <route id="fos_user_registration_check_email" pattern="/check-email"> <default key="_controller">FOSUserBundle:Registration:checkEmail</default> <requirement key="_method">GET</requirement> </route> <route id="fos_user_registration_confirm" pattern="/confirm/{token}"> <default key="_controller">FOSUserBundle:Registration:confirm</default> <requirement key="_method">GET</requirement> </route> <route id="fos_user_registration_confirmed" pattern="/confirmed"> <default key="_controller">FOSUserBundle:Registration:confirmed</default> <requirement key="_method">GET</requirement> </route> </routes> |
Nu vind ik die routes prima, maar ik wil ze graag mijn eigen (Nederlandse) url's kunnen geven. Wat ik heb geprobeerd is dit:
| 1 2 3 4 5 6 7 8 9 10 | # MijnBundle/Resources/config/routing/routing.yml
# Externe routing inladen
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
# Pattern overschrijven voor een route
fos_user_registration_register:
pattern: /meedoen |
Mijn idee was dat de andere keys van de route "fos_user_registration_register" zouden blijven bestaan (Defaults met _controller in dit geval) en dat alleen de pattern werd overschreven. Nu gebeurt dat eerste wel netjes, maar Defaults is leeg:
| 1 2 3 4 5 6 7 8 9 10 11 | $ app/console router:debug fos_user_registration_register
[router] Route "fos_user_registration_register"
Name fos_user_registration_register
Pattern /meedoen
Class Symfony\Component\Routing\CompiledRoute
Defaults
Requirements
Options compiler_class: Symfony\Component\Routing\RouteCompiler
Regex #^
/meedoen
$#xs |
Als ik ernaar browse krijg ik niet de route-bestaat-niet-melding ("No route found for "GET /meedoen"") maar duidelijk een andere ("Unable to find the controller for path "/meedoen". Maybe you forgot to add the matching route in your routing configuration?")
De andere routes (/register/check-email, /register/confirm/eentokenABC123, etc) werken nog prima.
Weet iemand hier een nette oplossing voor?
Gebruik de Wiki om problemen op te lossen en PHP te leren



