更改用户';s角色显示类型配置EasyAdminBundle Symfony2
我必须将用户的角色显示为一个列表:我不想键入它,而是想单击选项。我将获得诸如角色用户、角色管理员等选项 是否有比我在config.yml中所做的配置更改更多的配置更改 谢谢你的帮助, 是的。您必须使用及其更改用户';s角色显示类型配置EasyAdminBundle Symfony2,symfony,symfony2-easyadmin,Symfony,Symfony2 Easyadmin,我必须将用户的角色显示为一个列表:我不想键入它,而是想单击选项。我将获得诸如角色用户、角色管理员等选项 是否有比我在config.yml中所做的配置更改更多的配置更改 谢谢你的帮助, 是的。您必须使用及其扩展的选项(也可以选择使用多个选项)。请记住,用于表单类型的选项是在type\u options选项中定义的: easy_admin: # ... entities: User: # ... form:
扩展的选项(也可以选择使用多个选项)。请记住,用于表单类型的选项是在type\u options
选项中定义的:
easy_admin:
# ...
entities:
User:
# ...
form:
fields:
- { property: 'roles', type: 'choice', type_options: { expanded: true } }
如果需要,还可以在YAML文件中定义选项:
easy_admin:
# ...
entities:
User:
# ...
form:
fields:
- property: 'roles'
type: 'choice'
type_options:
expanded: true
choices: { 'ROLE_USER': 'Normal user', 'ROLE_ADMIN': 'Administrator' }
对。您必须使用及其扩展的选项(也可以选择使用多个选项)。请记住,用于表单类型的选项是在type\u options
选项中定义的:
easy_admin:
# ...
entities:
User:
# ...
form:
fields:
- { property: 'roles', type: 'choice', type_options: { expanded: true } }
如果需要,还可以在YAML文件中定义选项:
easy_admin:
# ...
entities:
User:
# ...
form:
fields:
- property: 'roles'
type: 'choice'
type_options:
expanded: true
choices: { 'ROLE_USER': 'Normal user', 'ROLE_ADMIN': 'Administrator' }
花了一段时间,但这里有一种可能的方法,可以添加复选框以向用户添加或删除角色role\u ADMIN
:
在easyadmin配置中,为用户实体添加:
-{property:'hasRoleAdmin',label:'Is admin',type:checkbox}
或者,对于具有相同功能的下拉列表:
- {property: 'hasRoleAdmin', label: 'Role', type: choice, type_options: choices: {0: 'ROLE_USER', 1: 'ROLE_ADMIN'}}}
在用户实体中,添加:
public function hasRoleAdmin()
{
return $this->hasRole('ROLE_ADMIN');
}
public function setHasRoleAdmin($isAdmin)
{
if (true == $isAdmin && false == $this->hasRole('ROLE_ADMIN')) {
$this->addRole('ROLE_ADMIN');
}
if (false == $isAdmin && true == $this->hasRole('ROLE_ADMIN')) {
$this->removeRole('ROLE_ADMIN');
}
$this->isAdmin = $isAdmin;
}
花了一段时间,但这里有一种可能的方法,可以添加复选框以向用户添加或删除角色role\u ADMIN
:
在easyadmin配置中,为用户实体添加:
-{property:'hasRoleAdmin',label:'Is admin',type:checkbox}
或者,对于具有相同功能的下拉列表:
- {property: 'hasRoleAdmin', label: 'Role', type: choice, type_options: choices: {0: 'ROLE_USER', 1: 'ROLE_ADMIN'}}}
在用户实体中,添加:
public function hasRoleAdmin()
{
return $this->hasRole('ROLE_ADMIN');
}
public function setHasRoleAdmin($isAdmin)
{
if (true == $isAdmin && false == $this->hasRole('ROLE_ADMIN')) {
$this->addRole('ROLE_ADMIN');
}
if (false == $isAdmin && true == $this->hasRole('ROLE_ADMIN')) {
$this->removeRole('ROLE_ADMIN');
}
$this->isAdmin = $isAdmin;
}
感谢您的快速回复,我尝试了这两种方法,当我单击“添加新用户”时,我得到了一个错误提示:“类型“array”的值无法转换为有效的数组键。“您对解决方案有什么想法吗?@AnisAbida也可以尝试将multiple:true
添加到类型_选项中。您需要反转键和值(即交换角色用户和普通用户等)。感谢您的快速响应,我尝试了这两种方法,当我单击“添加新用户”时,我得到了一个错误提示:“类型为“array”的值无法转换为有效的数组键。”您对解决方案有什么想法吗?@AnisAbida也可以尝试在type_选项中添加multiple:true
。您需要反转键和值(即交换角色用户和普通用户等)