chaoyu/view/public/menu.html

71 lines
2.7 KiB
HTML

{php}
function getMenus($menus, $level = 1, $currentFirstId, $categoryId) {
$menuHtml = '';
$levelList = ['nav-first','nav-second','nav-third'];
$navClass = $levelList[$level - 1] ?? '';
if (count($menus) > 0) {
$menuHtml .= '';
if($level > 1) {
$menuHtml .= '<div class="'.$navClass.'" >';
}
foreach ($menus as $menu) {
$activeClass = '';
$aHref = 'javascript:;';
if ($currentFirstId == $menu['id'] || $categoryId == $menu['id'] || ($currentFirstId == 0 && $menu['is_index'])) {
$activeClass = ' active';
}
if (!empty($menu['url'])) {
$aHref = $menu['url'];
} elseif ($menu['is_index']) {
$aHref = url('/');
} elseif (!empty($menu['template_list'])) {
$aHref = url('/'.$menu['template_list'].'/'.$menu['id']);
} elseif (!empty($menu['template'])) {
$aHref = url('/'.$menu['template'].'/'.$menu['id']);
}
if($level == 1) {
$menuHtml .= '<li class="'.$activeClass.'" >';
$menuHtml .= '<span><a href="'.$aHref.'" target="'.$menu['style'].'">'.$menu['title'].'</a></span>';
if (isset($menu['children']) && count($menu['children']) > 0) {
$menuHtml .= getMenus($menu['children'], $level + 1, $currentFirstId, $categoryId);
}
$menuHtml .= '</li>';
} else {
$menuHtml .= '<a href="'.$aHref.'" target="'.$menu['style'].'" class="'.$activeClass.'">';
$menuHtml .= '<span>'.$menu['title'].'</span>';
if (isset($menu['children']) && count($menu['children']) > 0) {
$menuHtml .= getMenus($menu['children'], $level + 1, $currentFirstId, $categoryId);
}
$menuHtml .= '</a>';
}
}
if($level > 1) {
$menuHtml .= '</div>';
}
}
return $menuHtml;
}
{/php}
<div class="head-box w-100">
<div class="w-1500">
<div class="center-block w-100 between-center">
<div class="logo center-center">
<a href="{:url('/')}"><img src="__IMG__/logo.png"></a>
</div>
<div class="nav">
<ul>
{:getMenus($menus, 1, $currentFirstId, $categoryId)}
</ul>
</div>
<div class="language">
<a href="" class="active">中文</a> / <a href="">English</a>
</div>
<div class="nav_btn">
<i class="bar-top"></i>
<i class="bar-cen"></i>
<i class="bar-bom"></i>
</div>
</div>
</div>
</div>