From 5fc1a655e0271b583f3caa009524ea9d99a8bd3e Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 29 Apr 2025 00:27:06 +0200 Subject: page menu et chemins, partie4 --- src/view/MenuBuilder.php | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'src/view/MenuBuilder.php') diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php index 42c9273..5331c08 100644 --- a/src/view/MenuBuilder.php +++ b/src/view/MenuBuilder.php @@ -9,6 +9,7 @@ use App\Entity\Page; class MenuBuilder extends AbstractBuilder { //private int $margin_left_multiplier = 29; + private string $options = ''; public function __construct(Node $node = null, bool $template = true) { @@ -23,7 +24,11 @@ class MenuBuilder extends AbstractBuilder }*/ if($_SESSION['admin']){ - $this->unfoldMenu(Director::$menu_data/*, 0 - $this->margin_left_multiplier*/); + $this->unfoldMenu(Director::$menu_data); + + if($template){ + $this->unfoldOptions(Director::$menu_data); + } } else{ header('Location: ' . new URL); @@ -39,11 +44,11 @@ class MenuBuilder extends AbstractBuilder } } - private function unfoldMenu(Page $menu): void + private function unfoldMenu(Page $page): void { $this->html .= '
' . "\n"; - foreach($menu->getChildren() as $entry) + foreach($page->getChildren() as $entry) { $checked = $entry->isHidden() ? '' : 'checked'; $this->html .= '
@@ -57,9 +62,9 @@ class MenuBuilder extends AbstractBuilder '; if(str_starts_with($entry->getEndOfPath(), 'http')){ - $this->html .= ' + $this->html .= ' ' . $entry->getEndOfPath() . ' - '; + '; } else{ $this->html .= '' . $entry->getPagePath() . ''; @@ -72,4 +77,14 @@ class MenuBuilder extends AbstractBuilder } $this->html .= "
\n"; } + + private function unfoldOptions(Page $page): void + { + foreach($page->getChildren() as $entry){ + $this->options .= '