From a3ba7dde60dc1c94b7170ec28266a966e5004d33 Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 22 Apr 2025 00:39:54 +0200 Subject: page menu et chemin, partie 2 --- src/view/MenuBuilder.php | 9 +------- src/view/NavBuilder.php | 59 +++++++++++++++++++++++++----------------------- 2 files changed, 32 insertions(+), 36 deletions(-) (limited to 'src/view') diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php index 0fcfbe5..5a010d5 100644 --- a/src/view/MenuBuilder.php +++ b/src/view/MenuBuilder.php @@ -22,8 +22,6 @@ class MenuBuilder extends AbstractBuilder extract($node->getNodeData()->getData()); }*/ - // ajouter un article - $new_article = ''; if($_SESSION['admin']) { $this->unfoldMenu(Director::$menu_data, 0 - $this->margin_left_multiplier); @@ -47,7 +45,7 @@ class MenuBuilder extends AbstractBuilder foreach($menu->getChildren() as $entry) { $div_style = 'margin-left: ' . $margin_left . 'px;'; - $checked = $entry->IsInMenu() ? 'checked' : ''; + $checked = $entry->isHidden() ? '' : 'checked'; $this->html .= '
@@ -67,14 +65,9 @@ class MenuBuilder extends AbstractBuilder $this->html .= '' . $entry->getPagePath() . ''; } - - // supprimer me label "visible" et griser le texte et bouton en JS à la place - /* => flèche gauche: position = position du parent + 1, parent = grand-parent, recalculer les positions => flèche droite: position = nombre d'éléments de la fraterie + 1, l'élément précédent devient le parent - => flèches haut et bas: inversement de position, comme pour les noeuds, mais dans la table page - => checkbox: in_menu ^= 1 */ if(count($entry->getChildren()) > 0){ diff --git a/src/view/NavBuilder.php b/src/view/NavBuilder.php index 2718569..f4fb651 100644 --- a/src/view/NavBuilder.php +++ b/src/view/NavBuilder.php @@ -27,41 +27,44 @@ class NavBuilder extends AbstractBuilder foreach($nav_data->getChildren() as $data) { - $li_class = ''; - if(isset($current[$level]) && $data->getEndOfPath() === $current[$level]->getEndOfPath()){ - $li_class = 'current '; - } + if(!$data->isHidden()){ + $li_class = ''; + if(isset($current[$level]) && $data->getEndOfPath() === $current[$level]->getEndOfPath()){ + $li_class = 'current '; + } - $link = ''; - if($data->isReachable()) - { - if(str_starts_with($data->getEndOfPath(), 'http')) // lien vers autre site + $link = ''; + if($data->isReachable()) // titre de catégorie du menu non clicable { - $link .= ''; + if(str_starts_with($data->getEndOfPath(), 'http')) // lien vers autre site + { + $link .= ''; + } + elseif($data->getEndOfPath() != '') // lien relatif + { + $link .= ''; + } + } + else{ + $link .= ''; } - elseif($data->getEndOfPath() != '') // lien relatif + + if(count($data->getChildren()) > 0) // titre de catégorie { - $link .= ''; + $li_class .= $data->getParent() == null ? 'drop-down' : 'drop-right'; + + $nav_html .= '
  • ' . $link . '

    ' . $data->getPageName() . '

  • ' . "\n"; + } + else + { + $nav_html .= '
  • ' . $link . '

    ' . $data->getPageName() . '

  • ' . "\n"; } - } - else{ - $link .= ''; } - if(count($data->getChildren()) > 0) // titre de catégorie - { - $li_class .= $data->getParent() == null ? 'drop-down' : 'drop-right'; - - $nav_html .= '
  • ' . $link . '

    ' . $data->getPageName() . '

  • ' . "\n"; - } - else - { - $nav_html .= '
  • ' . $link . '

    ' . $data->getPageName() . '

  • ' . "\n"; - } } return $nav_html; } -- cgit v1.2.3