这个问题在项目中会多次遇到,某些区块,需要在某些内容类型,甚至再加上某些特定页面下显示。Drupal7已经将这个应用加到核心里了,在节点选项里就会看到内容类型选择。
在Drupal6中有两种实现方案。
第一种,也是比较推荐的方案:启用token和pathauto模块,给该内容类型设置url格式(admin/build/path/patterns),如movie/[title-raw],然后可以在views生成的区块中配置显示的页面路径:movie/*
另一种方案是启用php filter,然后用phpcode控制区块的显示位置,如:
//判断是否是节点的显示页面
if(arg(0) == 'node' && is_numeric(arg(1) && !arg(2))) {
$node = node_load(arg(1));
//判断节点类型是否是movie
if($node->type == 'movie') {
return TRUE;
}
}
return FALSE;因为只能选择一种控制方式,所以页面的控制就不能用了,你可以再在代码中加上页面的判断即可。
