I have SuperType
实体表格Super
.
在这种形式中我有一个collection
现场ChildType
实体的表单类型Child
class SuperType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('childrens', 'collection', array(
'type' => new ChildType(null, array('my_custom_option' => true)),
}
class ChildType:
public function buildForm(FormBuilderInterface $builder, array $options)
{
if ($options['my_custom_option']) {
$builder->add('my_custom_field', 'textarea'));
}
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
...
'my_custom_option' => false
));
}
我怎样才能改变my_custom_option
仅此价值SuperType
form?
当然,我尝试通过构造函数传递此选项的方法不起作用。
您可以通过选项数组 http://symfony.com/doc/current/reference/forms/types/collection.html#entry-options给您的孩子输入如下:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('childrens', 'collection', array(
'entry_type' => new ChildType(),
'entry_options' => array(
'my_custom_option' => true,
),
// ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)