我正在尝试按照此处的指南在Symfony 2.4中创建注册表单 http://symfony.com/doc/current/cookbook/doctrine/registration_form.html
假设我有2个FormTypes
PersonType RegistrationType
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,但是除了我的注册表单之外,我想要重用除了那些之外的所有内容 在渲染了我想要的所有字段后,我只是将它添加到我的表单中 {%do form.person.setRendered%}答案 0 :(得分:0)
accountStatus出现在表单中:
->add('accountStatus')
删除此行,您将无法在表单中看到它。