我想知道是否有一种简单的方法可以禁止用户修改一个复选框(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数组,但它似乎只接受应用于所有实体(复选框)的布尔值。谢谢你的建议: - )
答案 0 :(得分:0)
您需要添加表单侦听器才能自定义单个元素。 http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html
看起来似乎很多工作但是一旦你完成这些例子就很容易了。您将最终将disabledRoles传递给侦听器,然后相应地设置disabled标志。