diff --git a/Vue/gabarit.php b/Vue/gabarit.php index 6ed73ec..a1d8a52 100755 --- a/Vue/gabarit.php +++ b/Vue/gabarit.php @@ -311,25 +311,25 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte']; $hasActiveChild = false; - // Nettoyage de l'activeLink pour la comparaison - $currentActive = trim($activeLink, '/ '); + // 1. On nettoie l'URL active (on enlève les slashs inutiles) + $currentActive = trim($activeLink, '/'); - foreach ($menuChildrenLevelOne as $key1 => $menuChild) { - // On extrait le lien propre de l'enfant - $childLink = trim($menuChild['lienMenu'], '/ '); - - // Si le lien de l'enfant correspond exactement à la page active - if (!empty($currentActive) && $childLink == $currentActive) { - $hasActiveChild = true; - break; + // 2. On ne compare QUE si on a vraiment une page active + if (!empty($currentActive)) { + foreach ($menuChildrenLevelOne as $key1 => $menuChild) { + // On extrait le lien du menu et on le nettoie + $childLink = trim($menuChild['lienMenu'], '/'); + + // On compare de manière stricte + if ($childLink === $currentActive) { + $hasActiveChild = true; + break; + } } } - // Ne s'ouvre QUE si un enfant est actif OU si l'ID parent est explicitement défini - $shouldBeOpen = false; - - // DEBUG (Optionnel) : Décommentez la ligne suivante pour voir pourquoi ça s'ouvre - // echo ""; + // 3. Le menu s'ouvre SEULEMENT si un enfant est actif + $shouldBeOpen = $hasActiveChild; ?>