конструктор форм symfony2

я создал customFormtype в symfony2 и использую его в конструкторе форм в своем контроллере. Это результат html, когда я отображаю форму:

        <div id="form">
              <input type="hidden" id="form__token" name="form[_token]" value="2e8fe0d777b5c0d7d30d9bfd9d5143811c790b1d">
              <div>
                 <label class=" required">Stars</label>
                 <!-- some other stuff -->
              </div>
        </div>

Откуда взялся идентификатор form и где я могу изменить имя? Большое тебе спасибо.


person Sandor Farkas    schedule 23.02.2012    source источник
comment
Это описано в документации.   -  person Bártfai Tamás    schedule 24.02.2012
comment
я не могу найти предложение, где я могу установить идентификатор. Переопределить шаблон - это не то, что я хочу.   -  person Sandor Farkas    schedule 24.02.2012


Ответы (2)


Идентификатор формы определяется функцией getName().

class TaskType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('task');
        $builder->add('dueDate', null, array('widget' => 'single_text'));
    }

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

Бывший. "задача" здесь. (http://symfony.com/doc/current/book/forms.html#creating-form-classes)

person webda2l    schedule 24.02.2012
comment
Нет, меня зовут areaSelect, а не форма. - person Sandor Farkas; 25.02.2012
comment
Обновите свой вопрос, указав код шаблона, действие контроллера и форму, если хотите, чтобы я увидел проблему. - person webda2l; 27.02.2012

Вы можете использовать именованный конструктор форм:

protected function createMyForm()
{
    return $this->container->get('form.factory')->createNamedBuilder('my_form_name', 'form')
        ->add('id', 'hidden')
        ->getForm();
}
person Eugene Leonovich    schedule 03.10.2012