Skip to research

Déclarer un custom template twig pour les pages 403 et 404 de Drupal 8

Temps de lecture
Moins d'une minute

Nous souhaitons créer un custom template pour nos pages 403 et 404.
Pour cela nous allons injecter dans le hook_theme_suggestions_page_alter notre code.

Dans le fichier, nom_de_mon_theme.theme, ajouter le code suivant :

/**
* Implements hook_theme_suggestions_HOOK_alter().
*/
function theme_name_theme_suggestions_page_alter(array &$suggestions, array $variables) {

  // On recupere le Code Statut de la page courante.
  $status = \Drupal::requestStack()->getCurrentRequest()->attributes->get('exception');
  // Si un status existe et que ce status est le 404 declare custom twig template
  if ($status && $status->getStatusCode() == 404){
    $suggestions[] = 'page__404';
  }
  // Si un status existe et que ce status est le 403 declare custom twig template
  if ($status && $status->getStatusCode() == 403){
    $suggestions[] = 'page__403';
  }

}

 

Puis, ajouter les deux fichier twig dans le dossier /mon_theme/templates/system

page--403.html.twig
page--404.html.twig