如果用戶是admin,以下將做'某事'。Drupal有條件的PHP如果管理員或用戶有一定的作用
<?php if (($is_admin)) : ?>
do something
<?php endif; ?>
我怎樣才能改變這種做法,如果用戶是管理員還是有一定的作用「東西」會怎樣? 謝謝
如果用戶是admin,以下將做'某事'。Drupal有條件的PHP如果管理員或用戶有一定的作用
<?php if (($is_admin)) : ?>
do something
<?php endif; ?>
我怎樣才能改變這種做法,如果用戶是管理員還是有一定的作用「東西」會怎樣? 謝謝
角色存儲在$user->roles
。要檢查「如果用戶是管理員還是有一定的作用」,你可以簡單地說:
if ($is_admin || in_array('some_role', $user->roles)):
對於檢查,如果用戶屬於一個或多個角色,你可以這樣做:
global $user;
$allowed_roles = array('customer', 'administrator');
if(count(array_intersect($user->roles, $allowed_roles)) > 0){
// do something useful here
}
function user_has_role($roles) {
return !!count(array_intersect(is_array($roles)? $roles : array($roles), array_values($GLOBALS['user']->roles)));
}
使用此功能,您可以檢查用戶是否有一個或多個角色。 儘管它可能作爲'訪問回調'值有用