J'ai de nombreuses pages de base sur lesquelles j'ai besoin que l'utilisateur soit connecté pour les visualiser. Comment personnaliser la page d'accès refusé au site?
Une page d'accès refusé personnalisée peut être définie sous / admin / config / system / site-information. Par exemple, une page d'erreur 404 commune est fournie par le module Search404 .
Tout ce que vous avez à faire est de définir votre propre page, peut-être avec un teaser de la page demandée et d'informer l'utilisateur que l'accès au contenu complet nécessite qu'il soit connecté.
Cela nécessitera probablement que vous mettiez du code php dans le corps de la page, ou vous pouvez utiliser le module Search404 comme base pour développer votre propre module pour gérer cela.
Edit: Plus j'y pense, plus la question devient intéressante. Je pense qu'un cas pourrait être fait pour une autorisation «Afficher l'accroche» en plus de «Afficher le contenu publié». En d'autres termes, la page pourrait être disponible pour tous les utilisateurs, mais l'accroche s'afficherait à la place du contenu complet, et un message pourrait s'afficher indiquant que l'utilisateur devait être connecté pour afficher le contenu complet, tout comme pour commentaires maintenant. Peut-être une idée de modèle contribué (impossible d'en trouver un sur DO).
Je pense que vous pouvez utiliser la page - 403.tpl.php et la page - 404.tpl.php et le code dans 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';
}
}
J'utilise le module d' erreur personnalisé pour cela.
Pour que la redirection vers la page initialement demandée fonctionne après un 403, j'ai créé ce patch .
Voici deux exemples de mes utilisations du module:
la source