尝试仅在某些条件下显示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;
?>
答案 0 :(得分:0)
此处:switch(substr($_SERVER["REQUEST_URI"], 0) {
,您错过了一个结束括号。
可能是其中一个问题。
此外,substr(ANYTHING, 0)
只会返回此任意内容,所以我认为这有点毫无意义。