diff --git a/common/models/MenuTree.php b/common/models/MenuTree.php new file mode 100644 index 0000000..7141ac3 --- /dev/null +++ b/common/models/MenuTree.php @@ -0,0 +1,56 @@ +mass = parent::getMenuList ($location_name)) + { + return $this->getMenuRecrusive (0); + } + } + + public function findChild ($id) + { + $mass = array (); + + foreach ($this->mass as $row) + { + if ($row['menu_pid'] == $id) + { + $mass[] = $row; + } + } + + return $mass; + } + + public function getMenuRecrusive ($menu_id) + { + $items = $this->findChild($menu_id); + + if (! empty ($items)) + { + $result = []; + + foreach ($items as $row) + { + $result[] = [ + 'label' => $row['page_title'], + 'url' => ['/'.$row['page_alias']], + 'items' => $this->getMenuRecrusive($row['menu_id']), + '
', + ]; + } + + return $result; + } + + } +} -- libgit2 0.21.4