1

所以,我有一个表单生成器操作,其中部分内容是:

->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?

(验证是否允许在这种情况下为多个已经在后端)

4

2 回答 2

0

所以看起来实际的答案是等到https://github.com/symfony/symfony/issues/6602登陆。

于 2013-05-20T09:44:04.193 回答
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) ;
于 2013-05-15T12:10:56.470 回答