Drupalでカスタムブロックを作成した際に、表示しているコンテンツタイプ別にブロックの表示内容を変更したい場合があります。
下記のようなコードでコンテンツタイプを判定することができます。

1
2
3
4
5
6
7
8
9
10
11
<?php
$sign = false;
$types = array('news', 'blog');
if (arg(0) == 'node' && is_numeric(arg(1))) {
	$nid = arg(1);
	$node = node_load($nid);
	$type = $node->type; 
	$sign |= in_array($type, $types);
}
print $sign;
?>

表示しているコンテンツタイプが「news」「blog」の場合に$signが「true」になります。