我的问题基本上是,是否可以从父表单更改嵌入字段的选项?
为了说明问题,请考虑这一点;我有一个像这样的父表单类型类:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType())
;
}
和一个单独的捆绑包中的子表单类型类,我不想编辑,如下所示:
class AppleFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('qty', 'integer', array('label' => 'rubbish label')
;
}
我想将标签更改qty
为其他内容,但我只想在 中执行此操作FruitForm
,而不是在使用的任何地方AppleForm
。我曾希望能够做类似的事情:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType(), array('qty' => array('label' => 'better label')))
;
}
或者:
class FruitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('apple', new AppleFormType())
;
$builder->get('apple')->get('qty')->setOption('label', 'better label');
}
但这些(以及其他一些尝试)都没有让我失望。不存在setOption
我可以看到的方法。
有谁知道这样做的方法?
谢谢