所以,我有一个formbuilder动作,部分原因是:
->add('apples_group', 'entity',
array(
'class' => 'ThingMainBundle:ApplesGroup',
'multiple' => true,
'expanded' => true,
'property' => 'applesName'
)
)
目前在此代码中输出为多选框:
{{ form_widget(form.apples_group, { "attr": {"class": "fields-list" } }) }}
有时 - 在不同的视图中 - 这不需要是多个,而应该是一个下拉框。有没有办法在窗口小部件中指定在渲染此窗口小部件时属性multiple应为false?
(在这种情况下,如果允许多次验证已经在后端验证)
答案 0 :(得分:0)
最好创建
// YourFormType.php
public function __construct(Apple $apple)
{
$this->apple = $apple;
}
和
->add('apples_group', 'entity',
array(
'class' => 'ThingMainBundle:ApplesGroup',
'multiple' => $this->apple->isMultiple() , // you set it in admin, right?
'expanded' => true,
'property' => 'applesName'
)
)
控制器:
$entity = new Apple() ;
$form = $this->createForm( new YourFormType($entity), $entity) ;
答案 1 :(得分:0)
所以看起来实际的答案是等到https://github.com/symfony/symfony/issues/6602降落。