2012-02-23 70 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)。 – 2012-02-24 01:06:01

+0

我無法找到可以設置ID的句子。重寫模板不是我想要的。 – 2012-02-24 09:29:53

回答

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

不,我的名字是「areaSelect」,而不是「form」。 – 2012-02-25 11:07:09

+0

如果您希望我看到問題,請使用您的模板代碼,控制器操作和表單更新您的問題。 – webda2l 2012-02-27 13:51:58

1

您可以使用一個名爲表單生成器:

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