0

我想知道是否有一种简单的方法可以禁用用户修改一个复选框(Symfony 2.1)。我正在尝试这样的事情:

     $builder->add('adminRoles', 'entity',  array(
            'property' => 'roleName',
            'class' => 'MyBundle:Role',
            'query_builder' => function(EntityRepository $er) {
                return $er->createQueryBuilder('r')
                    ->orderBy('r.roleName', 'ASC');
            },
            'disabled' => $this->disabledRoles,
            'expanded' => true,
            'multiple'  => true
     ));

$this->disabledRoles 我的意思是角色实体或实体本身的 ID 数组,但它似乎只接受适用于所有实体(复选框)的布尔值。谢谢你的建议 :-)

4

1 回答 1

0

您将需要添加一个表单侦听器以自定义各个元素。 http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html

看起来工作量很大,但是一旦你完成了这些例子,它就很容易了。您最终会将 disabledRoles 传递给侦听器,然后相应地设置 disabled 标志。

于 2013-04-25T12:27:13.337 回答