在Drupal中,如何设置节点-[content-type].tpl.php以显示404错误?
在Drupal6中,我希望某些内容类型在被访问时显示错误404。我不希望他们被搜索引擎索引或被用户访问。它们用于存储数据,如照片或其他附件 我已尝试将节点-[content-type].tpl.php设置为在Drupal中,如何设置节点-[content-type].tpl.php以显示404错误?,drupal,drupal-6,Drupal,Drupal 6,在Drupal6中,我希望某些内容类型在被访问时显示错误404。我不希望他们被搜索引擎索引或被用户访问。它们用于存储数据,如照片或其他附件 我已尝试将节点-[content-type].tpl.php设置为 在调用drupal\u not\u found()调用exit()之后,否则drupal将继续处理页面元素。您可以使用例如来限制对每个内容类型的访问。这将返回权限被拒绝错误,而不是404 如果你想自己编写一个更轻的版本,你必须编写一个扩展Drupal权限系统的模块,主题层是错误的。我想这是个
在调用drupal\u not\u found()调用exit()之后,否则drupal将继续处理页面元素。您可以使用例如来限制对每个内容类型的访问。这将返回权限被拒绝错误,而不是404
如果你想自己编写一个更轻的版本,你必须编写一个扩展Drupal权限系统的模块,主题层是错误的。我想这是个不错的选择
将其放在主题层也会阻止任何管理员(使用此主题)查看内容。我将这些内容类型的路径别名设置为
无视图/[nid]
然后使用
函数MYMODULE_init()
{
$path=drupal\u get\u path\u别名(request\u uri())
}
这样,您就可以在过程的早期截取内容。您还可以避免使用大量的节点模板来执行相同的操作
至于使某些内容类型不可用的原因,有几个合理的理由。一个是,将复杂数据存储在节点上(使用自定义内容类型,而不是节点中的CCK字段),并与其他节点共享,通常是更好的选择。您可能永远不希望单独查看此数据节点。另一种方法是使用节点在页面的视图中显示一组内容,但单独查看这些内容是没有意义的。成功了!我创建了node-[content-type].tpl.php,粘贴+1与fabian一致。我想知道为什么@drtimofey想要在某些内容类型上发布404“未找到”。这个信息不“正确”。从我的角度来看,被拒绝的权限更合适。@drtmofey:您可能还想探索编辑robots.txt
,以防止搜索引擎甚至尝试为内容类型的页面编制索引
if (strpos($path, "no-view/") !== false) {
drupal_not_found();
exit;
}