Drupal 8)で現在ログインしているユーザーのロールを取得する方法
たとえば、D7には$GLOBALS['user']->roles;
何かのようなもの:
$current_user = \Drupal::currentUser();
$roles = $current_user->getRoles();
次のような配列を返します:
Array
(
[0] => authenticated
[1] => administrator
[2] => some_other_role
)
ここで、配列の値はロールIDです(Drupal 7のロールのマシン名に相当)。OOコードでは、適切なメカニズムを使用して現在のコンテナからのユーザー、例えば
$current_user = $container->get('current_user');
drupal 8で現在のユーザーロールを取得するには-
$role = \Drupal::currentUser()->getRoles();
foreach ($role as $value) {
$role = $value;
}
これは私がそれをする方法です:
// Get actual user role.
$current_user_roles = \Drupal::currentUser()->getRoles();
// Check if user is not admin.
if (!in_array('administrator', $current_user_roles)) {
// Check if user is an admin.
if (in_array('administrator', $current_user_roles)) {