Eu tenho muitas páginas básicas nas quais preciso que o usuário esteja logado para visualizá-las. Como personalizo a página de acesso negado ao site?
Uma página de acesso negado personalizado pode ser definida em / admin / config / system / site-information. Por exemplo, uma página de erro 404 comum é fornecida pelo módulo Search404 .
Tudo o que você precisa fazer é definir sua própria página, talvez com um teaser da página solicitada e informar ao usuário que o acesso ao conteúdo completo requer que ele esteja logado.
Isso provavelmente exigirá que você coloque algum código php no corpo da página ou use o módulo Search404 como base para desenvolver seu próprio módulo para lidar com isso.
Edit: Quanto mais eu penso sobre isso, mais interessante a pergunta se torna. Acho que pode haver uma permissão para 'Visualizar teaser', além de 'Visualizar conteúdo publicado'. Em outras palavras, a página pode estar disponível para todos os usuários, mas o teaser será exibido em vez do conteúdo completo, e uma mensagem poderá ser exibida indicando que o usuário precisou fazer login para visualizar o conteúdo completo, da mesma forma que é feito para comentários agora. Talvez uma ideia para um modelo contribuído (não foi possível encontrar um no DO).
Eu acho que você pode usar a página - 403.tpl.php e página - 404.tpl.php e código em template.php via
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';
}
}
Estou usando o módulo de erro personalizado para isso.
Para obter o redirecionamento para a página solicitada originalmente após o 403 funcionar, criei esse patch .
Aqui estão dois exemplos dos meus usos do módulo:
fonte