@php $currentUrl = (Request::path() != '/') ? '/'. Request::path() : '/'; function renderHeaderSubMenu($value, $currentUrl) { $subMenu = ''; $GLOBALS['sub_level'] += 1 ; $GLOBALS['active'][$GLOBALS['sub_level']] = ''; $currentLevel = $GLOBALS['sub_level']; foreach ($value as $key => $menu) { $GLOBALS['subparent_level'] = ''; $subSubMenu = ''; $hasSub = (!empty($menu['sub_menu'])) ? 'has-sub' : ''; $hasCaret = (!empty($menu['sub_menu'])) ? '
' : ''; $hasHighlight = (!empty($menu['highlight'])) ? '' : ''; $hasTitle = (!empty($menu['title'])) ? '
'. $menu['title'] . $hasHighlight .'
' : ''; if (!empty($menu['sub_menu'])) { $subSubMenu .= '
'; $subSubMenu .= renderHeaderSubMenu($menu['sub_menu'], $currentUrl); $subSubMenu .= '
'; } $active = (!empty($menu['route-name']) && (Route::currentRouteName() == $menu['route-name'])) ? 'active' : ''; if ($active) { $GLOBALS['parent_active'] = true; $GLOBALS['active'][$GLOBALS['sub_level'] - 1] = true; } if (!empty($GLOBALS['active'][$currentLevel])) { $active = 'active'; } $subMenu .= '
'. $hasTitle . $hasCaret .' '. $subSubMenu .'
'; } return $subMenu; } foreach (config('sidebar.menu') as $key => $menu) { $GLOBALS['parent_active'] = ''; $hasSub = (!empty($menu['sub_menu'])) ? 'has-sub' : ''; $hasCaret = (!empty($menu['caret'])) ? '
' : ''; $hasIcon = (!empty($menu['icon'])) ? '
' : ''; $hasImg = (!empty($menu['img'])) ? '
' : ''; $hasLabel = (!empty($menu['label'])) ? ''. $menu['label'] .'' : ''; $hasTitle = (!empty($menu['title'])) ? '
'. $menu['title'] . $hasLabel .'
' : ''; $hasBadge = (!empty($menu['badge'])) ? '
'. $menu['badge'] .'
' : ''; $subMenu = ''; if (!empty($menu['sub_menu'])) { $GLOBALS['sub_level'] = 0; $subMenu .= '
'; $subMenu .= renderHeaderSubMenu($menu['sub_menu'], $currentUrl); $subMenu .= '
'; } $active = (!empty($menu['route-name']) && (Route::currentRouteName() == $menu['route-name'])) ? 'active' : ''; $active = (empty($active) && !empty($GLOBALS['parent_active'])) ? 'active' : $active; echo '
'. $hasImg .' '. $hasIcon .' '. $hasTitle .' '. $hasBadge .' '. $hasCaret .' '. $subMenu .'
'; } @endphp