Ek *_*mos 17 drupal login drupal-7 drupal-modules
如何在Drupal 7中获取当前登录用户的角色?你知道一个简单的方法吗?这有什么drupal核心功能吗?
mat*_*lar 25
$ user-> roles是属于由角色ID键入的用户的角色数组,value是角色字符串.因此,如果您想检查用户是否具有"经过身份验证的用户"角色,则您的代码段看起来就像这样(不一定是最优化的方法,in_array是一个性能相当昂贵的函数):
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
Run Code Online (Sandbox Code Playgroud)
请注意,in_array也可以接受一个数组作为"needle"(参数#1),因此您可以检查多个角色选项:
in_array(array('authenticated user', 'anonymous user'), $user->roles);
Run Code Online (Sandbox Code Playgroud)
Art*_*mak 24
您只需使用此PHP代码段即可访问用户角色:
<?php $GLOBALS['user']->roles; ?>
Run Code Online (Sandbox Code Playgroud)
我找到了一个有趣的解决方案来检查用户的多个角色:
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32085 次 |
| 最近记录: |