aboutsummaryrefslogtreecommitdiff
path: root/src/model/Menu.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/Menu.php')
-rw-r--r--src/model/Menu.php42
1 files changed, 0 insertions, 42 deletions
diff --git a/src/model/Menu.php b/src/model/Menu.php
deleted file mode 100644
index d277259..0000000
--- a/src/model/Menu.php
+++ /dev/null
@@ -1,42 +0,0 @@
1<?php
2// src/model/Menu.php
3
4declare(strict_types=1);
5
6use Doctrine\ORM\EntityManager;
7use App\Entity\Page;
8use Doctrine\Common\Collections\ArrayCollection;
9
10class Menu extends Page
11{
12 private array $other_pages = []; // pages n'apparaissant pas dans le menu
13
14 public function __construct(EntityManager $entityManager){
15 $this->children = new ArrayCollection();
16
17 $bulk_data = $entityManager
18 ->createQuery('SELECT n FROM App\Entity\Page n WHERE n.parent IS null') // :Doctrine\ORM\Query
19 ->getResult(); // :array de Page
20
21 foreach($bulk_data as $first_level_entries){
22 // dans le menu
23 if($first_level_entries->isInMenu()){
24 $this->addChild($first_level_entries);
25 }
26 // autres pages
27 else{
28 // attention, seul le premier élément du chemin est pris en compte
29 $this->other_pages[] = $first_level_entries;
30 }
31 }
32
33 foreach($this->getChildren() as $page){
34 $page->fillChildrenPagePath();
35 }
36 }
37
38 public function getOtherPages(): array
39 {
40 return $this->other_pages;
41 }
42} \ No newline at end of file