node autotitle automatic drupal login drupal-modules drupal-7

autotitle - ¿Cómo obtener el rol de usuario actualmente registrado en Drupal 7?



drupal 8 automatic node title (4)

$ user-> roles es una matriz de los roles que pertenecen al usuario ingresado por el ID de rol, el valor es la cadena de rol. Entonces, si quisiera comprobar si el usuario tenía un "usuario autenticado" de rol, su fragmento de código tendría un aspecto similar a este (no necesariamente el enfoque más optimizado, in_array es una función bastante costosa en cuanto a rendimiento):

global $user; if (in_array(''authenticated user'', $user->roles)) { //do stuff here }

Tenga en cuenta que in_array también puede aceptar una matriz como la "aguja" (argumento # 1) para que pueda verificar varias opciones de rol:

in_array(array(''authenticated user'', ''anonymous user''), $user->roles);

¿Cómo obtener el rol de usuario actualmente registrado en Drupal 7? ¿Conoces una forma simple de lograr esto? ¿Hay algunas funciones básicas de drupal para esto?


// Cargar el usuario actualmente conectado.

global $user; print_r($user->roles);//this gives you current user roles

// para comprobar si es administrador, puedes hacerlo por

if (in_array(''administrator'', $user->roles)) { // do some stuff $form[''field_end_date''][''#disabled''] = FALSE; }


He encontrado una solución interesante para verificar múltiples roles de un usuario:

global $user; $check = array_intersect(array(''moderator'', ''administrator''), array_values($user->roles)); if (empty($check) ? FALSE : TRUE) { // is admin } else { // is not admin }


Puede acceder a los roles de usuario simplemente usando este fragmento de código PHP:

<?php $GLOBALS[''user'']->roles; ?>