From df3612ed7e6691530503f79483d2fdbc032d01b8 Mon Sep 17 00:00:00 2001 From: polo-pc-greta Date: Thu, 27 Mar 2025 10:13:03 +0100 Subject: mise en ligne github --- src/view/NavBuilder.php | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/view/NavBuilder.php (limited to 'src/view/NavBuilder.php') diff --git a/src/view/NavBuilder.php b/src/view/NavBuilder.php new file mode 100644 index 0000000..e7254b1 --- /dev/null +++ b/src/view/NavBuilder.php @@ -0,0 +1,61 @@ +html .= ''; + } + + private function navMainHTML(Page $nav_data, array $current): string + { + $nav_html = ''; + static $level = 0; + + foreach($nav_data->getChildren() as $data) + { + $class = ''; + if(isset($current[$level]) && $data->getEndOfPath() === $current[$level]->getEndOfPath()){ + $class = ' current'; + } + + if(count($data->getChildren()) > 0) // titre de catégorie + { + $nav_html .= '' . "\n"; + } + else + { + $target = ''; + if(str_starts_with($data->getEndOfPath(), 'http')) // lien vers autre site + { + $link = $data->getEndOfPath(); // $link = chaine + $target = ' target="_blank"'; + } + elseif($data->getEndOfPath() != '') // lien relatif + { + $link = new URL(['page' => $data->getPagePath()]); // $link = objet + } + /*else + { + echo "else page d'accueil" . '
'; + $link = new URL; // page d'accueil + }*/ + + $nav_html .= '
  • ' . $data->getPageName() . '

  • ' . "\n"; + } + } + return $nav_html; + } +} \ No newline at end of file -- cgit v1.2.3