我正在尝试在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 %}后将其添加到表单中
发布于 2014-03-31 13:13:35
由于以下这一行,accountStatus出现在表单中:
->add('accountStatus')删除此行,您将不会在表单中看到它。
https://stackoverflow.com/questions/22752493
复制相似问题