在Drupal中,如何设置节点-[content-type].tpl.php以显示404错误?

在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权限系统的模块,主题层是错误的。我想这是个

在Drupal6中,我希望某些内容类型在被访问时显示错误404。我不希望他们被搜索引擎索引或被用户访问。它们用于存储数据,如照片或其他附件

我已尝试将节点-[content-type].tpl.php设置为
在调用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;  
}