Please Sign In or Register

ブロックを特定のカテゴリに分類されたページのみに表示する

特定のカテゴリページおよび、そのカテゴリに分類されたページが表示された場合のみブロックを表示するための方法です。

ブロックの設定の 「ページ固有の表示設定」 で、「以下の PHP コードが TRUE を返したら表示する (PHP モード - PHP に精通した方専用)」 を選択し、「ページ」 に以下の PHP コードを記述します。

表示の対象となるカテゴリが単一の場合

強調部分を表示の対象とするカテゴリの term ID に変更します。

<?php
$myterm = 163;

if ((arg(0) == 'node') && is_numeric(arg(1))) {
  $terms = taxonomy_node_get_terms(arg(1));
  foreach($terms as $term) {
    if ($term->tid == $myterm) return TRUE;
  }
}
if ((arg(0) == 'taxonomy') && (arg(1) == 'term') && (arg(2) == $myterm)) {
  return TRUE;
}
return FALSE;
?>

表示の対象となるカテゴリが複数ある場合

強調部分を表示の対象とするカテゴリの term ID に変更します。
term ID はそれぞれコンマ(,)で区切って入力します。

<?php
$myterms = array(8, 9, 12, 21);

if ((arg(0) == 'node') && is_numeric(arg(1))) {
  $terms = taxonomy_node_get_terms(arg(1));
  foreach($terms as $term) {
    if (in_array($term->tid, $myterms)) return TRUE;
  }
}
if ((arg(0) == 'taxonomy') && (arg(1) == 'term') && (in_array(arg(2), $myterms))) {
  return TRUE;
}
return FALSE;
?>

[参考]
Show block by taxonomy term - Drupal 4.7 | drupal.org

トラックバック

トラックバックは承認後に表示されます。

URLから "-nospam" を削除してトラックバックを送信してください。

返信

例えば「あ」と「お」の間の文字を入力してださい。なら、"いうえ"とひらがなで入力します。
このフィールドの内容は非公開にされ、公表されることはありません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • Allowed HTML tags: <a>
  • 行と段落は自動的に折り返されます。

書式オプションに関するさらに詳しい情報...