自定义拒绝访问页面


11

我有许多基本页面,需要用户登录才能查看它们。如何自定义拒绝站点访问页面?

Answers:


7

可以在/ admin / config / system / site-information下定义一个自定义的拒绝访问页面。例如,Search404模块提供了一个常见的404错误页面。

您所要做的就是定义自己的页面,也许在请求的页面中添加一个预告片,然后通知用户要访问全部内容需要登录。

这可能需要您在页面正文中放入一些php代码,或者您可以使用Search404模块作为开发自己的模块来处理此问题的基础。

编辑:我对这个问题的思考越多,这个问题就越有趣。我认为除了“查看已发布的内容”之外,还可能需要获得“查看预告片”权限。换句话说,该页面可能对所有用户都可用,但是将显示预告片而不是全部内容,并且可能会显示一条消息,指示用户必须登录才能查看全部内容,就像对现在发表评论。也许有一个关于贡献模型的想法(在DO上找不到)。


7

我认为您可以通过使用page--403.tpl.php和page--404.tpl.php以及template.php中的代码

function THEMENAME_preprocess_page(&$variables) {    
  $status = drupal_get_http_header("status");  
  if($status == '403 Forbidden') {
    $variables['theme_hook_suggestions'][] = 'page__403';
  }
  if($status == '404 Not Found') {
    $variables['theme_hook_suggestions'][] = 'page__404';
  }
}

经过测试。有用。但是请记住,此挂钩仅在刷新缓存后才运行。
伊格纳西奥(Ignacio Segura)Postigo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.