Drupal 9 - Désactiver un bloc pour une page spécifique

Drupal propose un mécanisme en backoffice pour contrôler l'affichage des blocs, mais il est nécessaire parfois de mettre en place une logique un peu plus complexe.

Ici nous allons masquer le block "pagetitleblock_content" de la région "header" quand on est sur un nœud de type « petite_annonce » via le hook HOOK_preprocess_page :

function petites_annonces_preprocess_page(&$vars) {
  if(($node = \Drupal::routeMatch()->getParameter('node')) && $node->bundle() === 'petite_annonce') {
    if (isset($vars['page']['header']['pagetitleblock_content'])) {
      unset($vars['page']['header']['pagetitleblock_content']);
    }
  }
}

 

Contenus en rapport

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...