From 8b31c574ae7bbfbaeb37658302da7e8988f8a109 Mon Sep 17 00:00:00 2001 From: Folio Mikael <milykim@hotmail.fr> Date: Wed, 27 Sep 2023 09:40:57 +0200 Subject: [PATCH] Correctif megamenu (bug +css) --- design_system_admin/css/plugin-dse.css | 2 +- design_system_admin/mes_fonctions.php | 48 +++++++++++++++++++------- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/design_system_admin/css/plugin-dse.css b/design_system_admin/css/plugin-dse.css index d5d6a84..9b33695 100644 --- a/design_system_admin/css/plugin-dse.css +++ b/design_system_admin/css/plugin-dse.css @@ -637,7 +637,7 @@ label.form-control { } .arrondi{ border-radius: 15px; - border: 1px solid #ccc; + max-width: 100%; } .presentation { border: 1px solid #eee; diff --git a/design_system_admin/mes_fonctions.php b/design_system_admin/mes_fonctions.php index 56c03cc..515004f 100644 --- a/design_system_admin/mes_fonctions.php +++ b/design_system_admin/mes_fonctions.php @@ -282,6 +282,11 @@ function filtre_menu($texte, $delimiteur=';') { </li>'; break; case "megamenu": + + + + + #megamenu;3;Climat;/plugins-dist/z-dsfr/design_system_child/prive/themes/spip/images/theme-1-navigation.svg;Climat;div;L’augmentation dans l’atmosphère de la concentration en gaz à effet de serre (GES) résultant des activités humaines (notamment la combustion des énergies fossiles, l’utilisation d’engrais de synthèse et la production de GES artificiels tels que les gaz réfrigérants ) perturbe les équilibres climatiques de long terme à l’échelle planétaire.L’ampleur du réchauffement et ses effets se concrétisent de façon différente (température, régime des pluies, montée des eaux, fréquence et ampleur des phénomènes météorologiques extrêmes, etc.) selon les régions et leur vulnérabilité.;Voir le thème;/theme/climat;menu1;;Comprendre le changement climatique;/themes/climat/article/comprendre-le-changement-climatique;L’adaptation au changement climatique;/themes/climat/article/l-adaptation-au-changement-climatique;menu2;;Les émissions de gaz à effet de serre et l’empreinte carbone;/themes/climat/article/les-emissions-de-gaz-a-effet-de-serre-et-l-empreinte-carbone;menu3;;Limitation des émissions de gaz à effet de serre;/themes/climat/article/limitation-des-emissions-de-gaz-a-effet-de-serre; $menu_cree = ' <li class="fr-nav__item" data-fr-js-navigation-item="true"> <button class="fr-nav__btn" aria-expanded="false" aria-controls="mega-menu-'.$uniqueId.'" data-fr-js-collapse-button="true">'.$valeurs[2].'</button> @@ -298,28 +303,45 @@ function filtre_menu($texte, $delimiteur=';') { </div>'; } $menu_cree .= '<div class="fr-mega-menu__leader fr-pl-4w fr-col-12 fr-col-md-10"> - <'.$valeurs[5].' class="fr-h4 fr-mb-2v">'.$valeurs[4].'</'.$valeurs[5].'> + <'.$valeurs[5].' class="fr-h4 fr-mb-2v">'.$valeurs[2].'</'.$valeurs[5].'> <div class="fr-my-3v">'.$valeurs[6].'</div> <a class="fr-link fr-fi-arrow-right-line fr-link--icon-right" href="'.$valeurs[8].'">'.$valeurs[7].'</a>'; $temp_texte = trim($texte, ";"); if ($valeurs[1] > 0){ $menu_cree .= '<div class="fr-grid-row fr-grid-row-lg--gutters fr-mt-4v">'; - if ($valeurs[1] > 2) { - $tempArray = explode(';menu3;', $temp_texte); - $menu3 = trim($tempArray[1],';'); - $temp_texte = str_replace(';menu3;'.$menu3, '', $temp_texte); - $menu3 = explode(';', $menu3); + if ($valeurs[1] > 2) { + // Trouver l'indice de "menu3" + $indexMenu3 = array_search('menu3', $valeurs); + + // Extraire les valeurs à partir de "menu3" + $menu3 = []; + $menu3 = array_slice($valeurs, $indexMenu3 + 1); + array_pop($menu3); + } if ($valeurs[1] > 1) { - $tempArray = explode(';menu2;', $temp_texte); - $menu2 = trim($tempArray[1],';'); - $temp_texte = str_replace(';menu2;'.$menu2, '', $temp_texte); - $menu2 = explode(';', $menu2); + // Trouver les indices de "menu1" et "menu2" + $indexMenu2 = array_search('menu2', $valeurs); + $indexMenu3 = array_search('menu3', $valeurs); + + // Extraire les valeurs entre "menu2" et "menu3" + $menu2 = []; + for ($i = $indexMenu2 + 1; $i < $indexMenu3; $i++) { + $menu2[] = $valeurs[$i]; + } } if ($valeurs[1] > 0) { - $tempArray = explode(';menu1;', $temp_texte); - $menu1 = trim($tempArray[1],';'); - $menu1 = explode(';', $menu1); + // Trouver les indices de "menu1" et "menu2" + $indexMenu1 = array_search('menu1', $valeurs); + $indexMenu2 = array_search('menu2', $valeurs); + + // Extraire les valeurs entre "menu2" et "menu3" + $menu1 = []; + for ($i = $indexMenu1 + 1; $i < $indexMenu2; $i++) { + $menu1[] = $valeurs[$i]; + } + + } for($n = 1; $n <= $valeurs[1]; $n++){ $menu_n = 'menu'.$n; -- GitLab