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' : '';
}
}