route = Route::currentRouteName(); $menu = config('blog.menu'); $menuString = ''; foreach ($menu as $mList) { $count = count($mList); if ($count > 1) { $menuString .= $this->childrenShow($mList); } else { $menuString .= $this->parentShow($mList); } } return $menuString; } /** * @param $menu * @return string */ private function childrenShow($menu) { $string = '
  • '; $string .= ' '.$menu['tree_title']['name'].' '; unset($menu['tree_title']); $string .=''; $liString = ''; $active = ''; foreach ($menu as $route => $m) { $activeString = $this->active($route); if ($activeString != "") { $active = $activeString; } $liString .= "
  • ".$m['name']."
  • "; } $string .= ''; $string = sprintf($string, $active, $liString); return $string; } /** * @param $menu * @return string */ private function parentShow($menu) { $string = ''; foreach ($menu as $route => $m) { $string.= "
  • ".$m['name']."
  • "; } return $string; } /** * @param $route * @return string */ private function active($route) { return $this->route == $route ? ' active' : ''; } }