特定の条件下でのみ Drupal のブロックを表示しようとしています -$match = TRUE
コンテンツ タイプが記事であるか、アーカイブ ページ (フォーマット/archive-monthname
) またはニュース ページ ( /news
) のいずれかである場合に許可するものを書き出そうとしました。
何らかの理由で、目的のページのいずれにも表示されません。
コードは次のとおりです。
<?php
$match = FALSE;
$types = array('article' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
$nid = arg(1);
$node = node_load($nid);
$type = $node->type;
if (isset($types[$type])) {
$match = TRUE;
}
}
switch (substr($_SERVER["REQUEST_URI"], 0) {
case "/archive-january":
$match = TRUE;
break;
case "/archive-february":
$match = TRUE;
break;
case "/archive-march":
$match = TRUE;
break;
case "/archive-april":
$match = TRUE;
break;
case "/archive-may":
$match = TRUE;
break;
case "/archive-june":
$match = TRUE;
break;
case "/archive-july":
$match = TRUE;
break;
case "/archive-august":
$match = TRUE;
break;
case "/archive-september":
$match = TRUE;
break;
case "/archive-october":
$match = TRUE;
break;
case "/archive-november":
$match = TRUE;
break;
case "/archive-december":
$match = TRUE;
break;
case "/news":
$match = TRUE;
break;
}
return $match;
?>