0

I created a registration form using the command formbuilder. I tried this but it does not change my identifier

{{form_widget (form.nombreUsuario, {'attr': {'id': 'signup-firstname'}})}}

And appears in html:

<input id="fos_user_registration_form_nombreUsuario" type="text" tabindex="1" autofocus="autofocus" placeholder="form.nombreUsuario" required="required" name="fos_user_registration_form[nombreUsuario]">

My RegistrationFormType is:

    namespace Train\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;

class RegistrationFormType extends BaseType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {  
        //parent::buildForm($builder, $options);
         $builder->add('nombreUsuario', 'text', array('required' => 'true',
                    'attr' => array(
                        'placeholder' => 'form.nombreUsuario', 'autofocus' => 'autofocus', 'tabindex' => '1'
            )));         
    }

    public function getName()
    {
        return 'train_user_registration';
    }

}

And my app/config.yml

fos_user:
    db_driver: orm 
    firewall_name: main
    user_class: Train\UserBundle\Entity\User
    registration:
        form:
            type: train_user_registration

My UserBundle/services.yml

services:
    train_user.registration.form.type:
        class: Train\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
        - { name: form.type, alias: train_user_registration }

Thank you very much for your time,

Alejandro

Backglass
  • 89
  • 3
  • 11

2 Answers2

2

You can specify an id in twig

{{ form_widget (form.nombreUsuario, {'id' : 'signup-firstname'}) }}
Alaeddine
  • 1,571
  • 2
  • 22
  • 46
0

i think you can`t change id for fields into fosuserbundle BUT you can add a class

try this :

namespace Train\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;

class RegistrationFormType extends BaseType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {  
        //parent::buildForm($builder, $options);
         $builder->add('nombreUsuario', 'text', array('required' => 'true',
                    'attr' => array(
                        'placeholder' => 'form.nombreUsuario', 
                        'autofocus' => 'autofocus', 
                        'tabindex' => '1',
                        'class' => 'signup-firstname'  // your class for form_widget    
            )));         
    }

    public function getName()
    {
        return 'train_user_registration';
    }

}

or in twig :

{{form_widget (form.nombreUsuario, {'attr': {'class': 'signup-firstname'} }) }}
ahmed hamdy
  • 5,096
  • 1
  • 47
  • 58
  • I tried but still not working. Appears fos_user_registration_form_nombreUsuario – Backglass Jan 01 '14 at 23:15
  • i think you can`t override id for fields into fosuserbundle, check update in my answer – ahmed hamdy Jan 02 '14 at 08:20
  • Looking to have found this site but does not change the identifier. I do not know how to fix it http://stackoverflow.com/questions/15859315/how-to-overriding-fosuserbundle-registration-form-style?rq=1 – Backglass Jan 03 '14 at 20:09
  • 1
    you can only add class to field but you can`t change id of field – ahmed hamdy Jan 04 '14 at 17:21