Настроить доступ к запрещенной странице


11

У меня есть много основных страниц, где мне нужно, чтобы пользователь вошел в систему, чтобы просмотреть их. Как настроить страницу запрещенного доступа к сайту?

Ответы:


7

Пользовательская страница запрещенного доступа может быть определена в / admin / config / system / site-information. Например, одна страница с общей ошибкой 404 предоставляется модулем Search404 .

Все, что вам нужно сделать, это определить свою собственную страницу, возможно, с помощью тизера с запрошенной страницы и информирования пользователя о том, что для доступа к полному контенту требуется, чтобы он вошел в систему.

Это, вероятно, потребует, чтобы вы поместили некоторый php-код в тело страницы, или вы могли бы использовать модуль Search404 в качестве основы для разработки своего собственного модуля, чтобы справиться с этим.

Изменить: Чем больше я думаю об этом, тем интереснее становится вопрос. Я думаю, что в дополнение к «Просмотр опубликованного контента» может быть сделано разрешение на «Просмотр тизера». Другими словами, страница может быть доступна для всех пользователей, но тизер будет отображаться вместо полного контента, и может отображаться сообщение, указывающее, что пользователь должен войти в систему, чтобы просмотреть весь контент, очень похоже на то, как это делается для комментарии сейчас. Возможно, идея для внесенной модели (не может найти одну на DO).


7

Я думаю, что вы можете использовать страницу - 403.tpl.php и страницу - 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';
  }
}

Проверено. Оно работает. Но помните, что этот хук запускается только после очистки кеша.
Игнасио Сегура Постиго

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.