J'ai oublié de préciser un petit quelque chose. Il s'agit du formulaire d'enregistrement de FOSUserBundle.
J'ai surchargé les classes RegistrationFormType et RegistrationController (en reprenant le code de base qui est dans FOSUserBundle et en brodant autour).
Le formulaire est récuperé en tant que service :
$form = $this->container->get('fos_user.registration.form');
donc je n'ai pas accès au constructeur (et je ne sais pas comment y avoir accès : je suis débutant rappelons nous >.<).
Pour me débrouiller, j'ai adapté la méthode buildForm() de RegistrationFormType comme suit, de manière à parser la route et à récupérer l'argument que je veux :
1 2 3
| $request = Request::createFromGlobals();
$uriTab = explode('/', $request -> getRequestUri());
$isPro = end($uriTab) == "pro"; |
mais je ne trouve pas ça très clean...
Partager