簡體   English   中英

Symfony 2注冊表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM