[英]Symfony 2 registration form
我正在嘗試按照http://symfony.com/doc/current/cookbook/doctrine/registration_form.html此處的指南在Symfony 2.4中創建注冊表單。
可以說我有2個FormTypes
人員類型注冊類型
PersonType為特定用戶定義所有字段。
// PersonType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('firstName','text',['attr'=>['placeholder'=>'First Name']])
->add('lastName','text',['attr'=>['placeholder'=>'Last Name']])
->add('email','email',['attr'=>['placeholder'=>'email@example.com']])
->add('title','choice', ['choices'=>$this->titles, 'required'=>true])
->add('phone','text',['attr'=>['placeholder'=>'(555) 555-1234']])
->add('accountStatus')
->add('organization')
->add('address', 'text',['attr'=>['placeholder'=>'123 Fake St']])
->add('city')
->add('province','choice', ['choices'=>$this->provinces, 'required'=>true])
->add('postalCode','text',['attr'=>['placeholder'=>"A1A 1A1"]])
;
}
RegistrationType添加:
// RegistrationType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$person = new PersonType();
$builder->add('person', $person);
$builder->add('termsAccepted','checkbox');
$builder->add('submit','submit', ['attr'=>['class'=>'btn-primary'], 'label' => "Submit Account Request"]);
}
問題是-我不想在注冊表單上包含accountStatus,因為當我將其保存到數據庫時,這將由代碼設置。 當我輸出表單時,其中包括accountStatus。
在Symfony 1.4中,為了實現同樣的目的,我只是擴展了PersonForm,並取消設置了我不需要的任何小部件。
我要解決這個錯誤嗎? 這是我的第一個Symfony 2項目。
編輯:我為我的情況找到了解決方案。 我想在主表單中使用accountStatus,但想重用除注冊表單之外的所有內容。
在渲染完我想要的所有字段后,我只是將其添加到表單中{%執行form.person.setRendered%}
由於以下原因,accountStatus出現在表單中:
->add('accountStatus')
刪除此行,您將不會在表單中看到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.