Изменить имя формы с помощью FormBuilder Symfony - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть вопрос, я знаю, что могу использовать FromFactoryInterface для установки имени формы, но как я могу сделать это с FormBuilder? Это получить имя класса и сгенерировать автоматическое имя из них, как я могу изменить его на мое имя?

Тип формы:

    <?php

class ProfileAddPracownikType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder

            ->add('username', null, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Nazwa użytkownika',
            'mapped' => false,
            'attr' => ['class' => 'form-control']])     
            ->add('imie', null, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Imię',
            'mapped' => false,
            'data' => $options['imie'],
            'attr' => ['class' => 'form-control']])
            ->add('nazwisko', null, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Nazwisko',
            'mapped' => false,
            'data' => $options['nazwisko'],
            'attr' => ['class' => 'form-control']])
            ->add('telefon', null, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Numer telefonu',
            'mapped' => false,
            'data' => $options['telefon'],
            'attr' => ['class' => 'form-control']])
            ->add('email', null, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Adres e-mail',
            'mapped' => false,
            'data' => $options['email'],
            'attr' => ['class' => 'form-control']]) 
            ->add('password', RepeatedType::class, array(
                    'type' => PasswordType::class,
                    'invalid_message' => 'Hasła muszą być takie same.',
                    'options' => array('attr' => array('class' => 'password-field')),
                    'required' => false,
                    'first_options'  => array('label' => 'Hasło (jeżeli pozostawisz to pola puste hasło nie zmieni się)','attr' => ['class' => 'form-control'],'label_attr' => ['class' => 'bmd-label-floating']),
                    'second_options' => array('label' => 'Powtórz hasło','attr' => ['class' => 'form-control'],'label_attr' => ['class' => 'bmd-label-floating']),
                    'mapped' => false,


                ))          
            ->add('avatar', FileType::class, [
            'label_attr' => array('class' => 'bmd-label-floating'),
            'label' => 'Wgraj lub aktualizuj avatar (jeżeli nie wgrasz pliku pozostanie standardowy obrazek)',
            'mapped' => false,
            'required' => false,
            'data' => $options['avatar'],
            'attr' => ['class' => 'form-control']])         
            ->add('save', SubmitType::class, [
            'label' => 'Zapisz profil',
            'attr' => ['class' => 'btn btn-primary pull-right']])   

        ;
    }

}

Форма здания внутри контроллера:

$form_profile = $this->createForm(ProfileAddPracownikType::class, $request, array());
...