Scroll
特定のコンテンツタイプのページにブロックを表示する
あるコンテンツタイプの特定のページだけにブロックを表示する必要があることがあります。標準設定では、ブロックの可視性は特定のパスまたはユーザーのロールによってのみ設定されます。次のコードを、php モードを有効にしたブロックの可視性設定に記述すると、コードが表示されるページのコンテンツタイプを選択できます。
<?php
$match = false;
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
if (substr($_SERVER["REQUEST_URI"], 0, 6) == '/page/') {
$match = TRUE;
}
if (substr($_SERVER["REQUEST_URI"], 0) == "/node/add/page") {
$match = TRUE;
}
return $match;
?>
例えば、このブロックはコンテンツタイプ Page のページ、および page の追加ページに表示されます。$types はコンテンツタイプのマシン名の配列で、例えば次のようなものです。
$types = array('page' => 'page', 'news' => 'news');