/** * @param $menu_name * @param array $options * @return string */ public function menu($menu_name, $options = []) { if (!isset($this->loadMenus)) { $menus = Menu::all(); $this->loadMenus = []; foreach ($menus as $menu) { $this->loadMenus[$menu->name] = $menu; } } if (empty($this->loadMenus[$menu_name])) { $menuView = 'themes.' . $this->theme . '.menus.' . (!empty($options['view']) ? $options['view'] : 'default'); $subLevel = 1; while (View::exists($menuView . '.submenu_' . $subLevel)) { $subLevel++; } $subLevel--; $newMenu = new Menu(); $newMenu->label = ucwords(str_replace('_', ' ', $menu_name)); $newMenu->name = $menu_name; $newMenu->max_sublevel = $subLevel; $newMenu->save(); $this->loadMenus[$newMenu->name] = $newMenu; } return MenuBuilder::customMenu([], 0, 1, 0, $options); }
/** * @param $menuName * @param array $options * @return string */ public function menu($menuName, $options = []) { return MenuBuilder::menu($menuName, $options); }