2017-09-26 6 views
0

Je suis en train de remplacer les zones par défaut du formulaire d'inscription fosuserbundle. J'ai ajouté tous les champs requis que je voulais à travers la base de données et de personnaliser avec le bootstrap cdn. Mais lorsque j'essaie de personnaliser les champs par défaut du formulaire d'inscription, je ne peux pas le trouver dans les deux register_content.html.twig et register.html.twig pour les éditer.Remplacer formulaire d'inscription dans FOSUserBundle Symfony

register_content.html.twig

{% trans_default_domain 'FOSUserBundle' %} 

{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }} 
    {{ form_widget(form) }} 
    <div> 

     <input class="btn btn-success" type="submit" id="_submit" name="_submit" value="{{ 'registration.submit'|trans }}" /> 
    </div> 
{{ form_end(form) }} 

register.html.twig

{% extends "@FOSUser/layout.html.twig" %} 

{% block fos_user_content %} 
{% include "@FOSUser/Registration/register_content.html.twig" %} 
{% endblock fos_user_content %} 

Je voudrais personnaliser toutes les zones de texte suivantes.

  • Email
  • Nom d'utilisateur Mot de passe
  • Répéter mot de passe

Où puis-je trouver les champs ci-dessus?

Merci d'avance.

Répondre

0

Si vous souhaitez remplacer FormType existant puis suivre cette doc: http://symfony.com/doc/master/bundles/FOSUserBundle/overriding_forms.html

Si vous voulez choisir des champs spécifiques dans html, vous pouvez sélectionner des champs comme:

{{ form_widget(form.email) }}

{{ form_widget(form.username) }}

ou

{{ form_widget(form.email, { 'attr': {'class': 'foo'} }) }}

+0

Je n'ai pas compris. Pouvez-vous élaborer un peu plus? – serializer

+0

bien sûr, voulez-vous remplacer le modèle de formulaire d'inscription? ou seulement séparer les entrées en HTML? –

+0

Je suppose que je veux séparer les entrées afin que je puisse le personnaliser. – serializer

1

Vous pouvez trouver son au fournisseur/friendsofsymfony/paquet utilisateur/formulaire/Type/RegistrationFormType si vous voulez changer son directy

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('email', 'email', array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle')) 
     ->add('username', null, array('label' => 'form.username', 'translation_domain' => 'FOSUserBundle')) 
     ->add('plainPassword', 'repeated', array(
      'type' => 'password', 
      'options' => array('translation_domain' => 'FOSUserBundle'), 
      'first_options' => array('label' => 'form.password'), 
      'second_options' => array('label' => 'form.password_confirmation'), 
      'invalid_message' => 'fos_user.password.mismatch', 
     )) 
    ; 
} 

Mais il mieux overide le type de forme comme ci-dessous dans config.yml (créer un nouveau type de formulaire)

fos_user: 
# ... 
registration: 
    form: 
     type: AppBundle\Form\RegistrationType 
+0

Cela fonctionne également homme. Je vous remercie.. – serializer