Respuestas:
Esto es bastante sencillo con user_roles () y array_search () . A continuación se muestra una función que devolverá la ID de rol si hay un rol que coincida con el nombre y FALSO de lo contrario.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
Un revestimiento sería:
$rid = array_search('administrator', user_roles());
Conociendo el nombre de la máquina del rol, es suficiente para usar user_role_load_by_name()
.
if ($role = user_role_load_by_name('Role Name')) {
// The role ID is in $role->rid.
}
Si el rol podría no existir ...
$role = user_role_load_by_name('Role Name');
$role_id = $role ? $role->rid : NULL;
La mejor manera de identificar el rol y su id es desde SQL. Ejecute esta consulta en su editor de SQL.
select * from roles;
Y obtendrá la lista de Roles, incluida la identificación y el peso.