Drupal 7での「page.tpl.php」などのテンプレート内で、ユーザーの権限(ロール)によって処理を変えたい場合に、判定するためのコードのメモです。

1
2
3
4
5
6
<?php
global $user;
if (in_array('administrator', $user->roles)) {
	//administrator権限ユーザーの場合の処理
}
?>

また、複数の権限を判定したい場合には、下記の様にも書けます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
global $user;
if (checkValuesInArray(array('administrator', 'manager'), $user->roles)) {
	//administrator、またはmanager権限ユーザーの場合の処理
}
 
function checkValuesInArray($search, $target) {
	$sign = false;
	foreach ($search as $value) {
		if (in_array($value, $target)) $sign = true;
	}
	return $sign;
}
?>