2012-02-23 3 views
1

symfony2에서 customFormtype을 만들고 컨트롤러의 formbuilder에서 사용하고 있습니다. 난 형태로 렌더링 할 때이 HTML 결과입니다 : 내가 이름을 변경할 수있는symfony2 formbuilder

 <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> 

는 ID 형태에서 온 않습니다 및? 대단히 감사합니다.

+1

그것은이 [문서에 설명되어 ] (http://symfony.com/doc/current/book/forms.html#form-theming). –

+0

내가 id를 설정할 수있는 문장을 찾을 수 없습니다. 템플릿을 재정의하는 것은 내가 원하는 것만은 아니다. –

답변

3

폼의 ID는 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)

+0

아니요, 제 이름은 "form"이 아닌 "areaSelect"입니다. –

+0

문제가 보이길 원한다면 템플릿 코드, 컨트롤러 동작 및 양식으로 질문을 업데이트하십시오. – webda2l

1

이름이 지정된 양식 빌더를 사용할 수 있습니다 :

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