Files
BlackFruit-UI/public/header.html
yiqiu f3d3a2954f
All checks were successful
continuous-integration/drone/push Build is passing
refactor: 导航下拉菜单重构为方案 C 混合型
- public/header.html: 去掉左右分栏,改为二级分组标题 + 三级国旗链接网格
- css/nav-mega-menu.css: 居中收窄面板(720px),分组标题+网格布局
- js/nav-third-level.js: 清空旧的面板切换脚本(不再需要)
- 下拉面板不再全宽铺开,视觉更精致紧凑
2026-03-18 18:03:27 +08:00

295 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div class="nav-shadow">
<nav class="section-content nav-header">
<div class="nav-left">
{php}
// Logo 链接使用独立配置,不占用导航数组
$__logoLink = isset($data['site_config']['logo_link']) && !empty($data['site_config']['logo_link'])
? $data['site_config']['logo_link']
: 'index.html';
{/php}
<div class="nav-icon">
<a href="{$__logoLink}">
<img src="{$data.official_website_logo|default='assets/img/index/logo.png'}" alt="Logo" id="logo">
</a>
</div>
<div class="nav-menu">
{if isset($data.header_nav) && !empty($data.header_nav)}
{foreach $data.header_nav as $k=>$item}
{if !empty($item.file_address)}
<a href="{$item.file_address}" {if !empty($item.blank)}target="_blank" {/if}>
<div class="nav-item">{$item.name}</div>
</a>
{else /}
<div class="nav-item">{$item.name}</div>
{/if}
{/foreach}
{/if}
</div>
</div>
<div class="nav-right">
<a href="/document.html" class="nav-text-link nav-desktop-link">文档</a>
<span class="nav-divider nav-desktop-link">|</span>
<a href="/home.htm" class="nav-text-link nav-desktop-link">控制台</a>
<span class="nav-divider nav-desktop-link">|</span>
<div class="no-login nav-desktop-link d-none">
<span class="nav-text-link" id="loginBtn">登录</span>
<span class="nav-divider">|</span>
<div class="btn btn-normal" id="registBtn">
<img src="/web/BlackFruit-web/assets/img/header/liwu.svg" class="regist-icon" alt="Gift">
<span class="regist-text">立即注册</span>
</div>
</div>
<div class="login-in nav-desktop-link d-none">
<div id="headImg" class="head-img"></div>
<span class="ml-10 font-el1 name" id="username"></span>
<div class="login-menu animated fadeIn">
<div class="login-menu-item" id="accountBtn">账户信息
<span class="no-real-name real-name" id="noCertification">未实名</span>
<span class="real-name d-none" id="isCertification">已实名</span>
</div>
<div class="login-menu-item" id="financeBtn">未付款订单</div>
<div class="login-menu-item" id="ticketBtn">我的工单</div>
<div class="login-menu-item" id="logout">退出账户</div>
</div>
</div>
<!-- 移动端汉堡菜单按钮 -->
<button class="mobile-menu-toggle" id="mobileMenuToggle" aria-label="Toggle navigation">
<img src="/web/BlackFruit-web/assets/img/header/bar.svg" alt="Menu" class="mobile-menu-icon">
</button>
</div>
</nav>
<div class="nav-cont">
<div class="nav-dropdown-inner">
{if isset($data.header_nav) && !empty($data.header_nav)}
{foreach $data.header_nav as $k=>$item}
{if isset($item.children) && !empty($item.children)}
<div class="nav-cont-menu">
{php}
$hasThirdLevel = false;
foreach ($item['children'] as $child) {
if (isset($child['children']) && !empty($child['children'])) {
$hasThirdLevel = true;
break;
}
}
{/php}
{if $hasThirdLevel}
<!-- 方案 C二级分组标题 + 三级国旗链接网格 -->
<div class="nav-groups">
{foreach $item.children as $childIndex=>$child}
{if isset($child.children) && !empty($child.children)}
<div class="nav-group">
<div class="nav-group-title">
{if !empty($child.icon)}
<img src="{$child.icon}" alt="{$child.name}" class="nav-group-icon">
{/if}
<span>{$child.name}</span>
{if !empty($child.description)}
<span class="nav-group-desc">— {$child.description}</span>
{/if}
</div>
<div class="nav-group-grid">
{foreach $child.children as $grandchild}
<a href="{if !empty($grandchild.file_address)}{$grandchild.file_address}{else/}javascript:;{/if}"
class="nav-grid-link" {if !empty($grandchild.blank)}target="_blank" {/if}
title="{$grandchild.name}{if !empty($grandchild.description)} - {$grandchild.description}{/if}">
{if !empty($grandchild.country_code)}
<img src="/web/BlackFruit-web/assets/country/{$grandchild.country_code}.png"
alt="{$grandchild.country_code}" class="country-flag" onerror="this.style.display='none'">
{/if}
{$grandchild.name}
</a>
{/foreach}
</div>
</div>
{/if}
{/foreach}
</div>
{else}
<!-- 纯二级:简单网格 -->
<div class="nav-simple-grid">
{foreach $item.children as $child}
<a href="{if !empty($child.file_address)}{$child.file_address}{else/}javascript:;{/if}"
class="nav-simple-item" {if !empty($child.blank)}target="_blank" {/if}>
{if !empty($child.icon)}
<div class="nav-simple-icon">
<img src="{$child.icon}" alt="{$child.name}">
</div>
{/if}
<div class="nav-simple-info">
<div class="nav-simple-title">{$child.name}</div>
{if !empty($child.description)}
<div class="nav-simple-desc">{$child.description}</div>
{/if}
</div>
</a>
{/foreach}
</div>
{/if}
</div>
{else /}
<div class="nav-cont-menu nav-cont-empty"></div>
{/if}
{/foreach}
{/if}
</div>
</div>
</div>
</div>
<!-- 移动端侧边导航栏 -->
<div class="mobile-sidebar" id="mobileSidebar">
<div class="mobile-sidebar-overlay" id="mobileSidebarOverlay"></div>
<div class="mobile-sidebar-content">
<div class="mobile-sidebar-header">
<div class="mobile-sidebar-logo">
<img src="{$data.official_website_logo|default='assets/img/index/logo.png'}" alt="">
</div>
<div class="mobile-sidebar-close" id="mobileSidebarClose">
<span></span>
</div>
</div>
<div class="mobile-sidebar-body">
<!-- 主导航菜单 -->
{if isset($data.header_nav) && !empty($data.header_nav)}
{foreach $data.header_nav as $k=>$item}
<div class="mobile-nav-item">
{if !empty($item.file_address)}
<a href="{$item.file_address}" {if !empty($item.blank)}target="_blank" {/if} class="mobile-nav-link">
{$item.name}
</a>
{else /}
<div class="mobile-nav-link">{$item.name}</div>
{/if}
</div>
{/foreach}
{/if}
<!-- 分隔线 -->
<div class="mobile-nav-divider"></div>
<!-- 文档和控制台 -->
<div class="mobile-nav-item">
<a href="/document.html" class="mobile-nav-link">文档</a>
</div>
<div class="mobile-nav-item">
<a href="/home.htm" class="mobile-nav-link">控制台</a>
</div>
<!-- 登录注册(未登录状态) -->
<div class="mobile-nav-actions mobile-no-login" style="display: none;">
<div class="mobile-nav-item">
<span class="mobile-nav-link" id="mobileLoginBtn">登录</span>
</div>
<div class="mobile-nav-item">
<div class="mobile-nav-btn" id="mobileRegistBtn">立即注册</div>
</div>
</div>
<!-- 用户信息(已登录状态) -->
<div class="mobile-nav-user mobile-login-in" style="display: none;">
<div class="mobile-nav-divider"></div>
<div class="mobile-user-info">
<div class="mobile-user-avatar" id="mobileHeadImg"></div>
<div class="mobile-user-name" id="mobileUsername"></div>
</div>
<div class="mobile-nav-item">
<span class="mobile-nav-link" id="mobileAccountBtn">账户信息</span>
</div>
<div class="mobile-nav-item">
<span class="mobile-nav-link" id="mobileFinanceBtn">未付款订单</span>
</div>
<div class="mobile-nav-item">
<span class="mobile-nav-link" id="mobileTicketBtn">我的工单</span>
</div>
<div class="mobile-nav-item">
<span class="mobile-nav-link" id="mobileLogout">退出账户</span>
</div>
</div>
</div>
</div>
</div>
<!-- 侧边 -->
<!-- 回到顶部按钮 - 独立在侧边工具栏上方 -->
<div class="back-top-wrapper" id="backTop">
<img src="/web/BlackFruit-web/assets/img/header/up.png" alt="回到顶部">
</div>
<div class="aside-tools">
<div class="tools-list">
{if ( isset($data.side_floating_window) ) }
{foreach $data.side_floating_window as $key=>$value}
<div class="tools-item">
<img src="{$value.icon}" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>{$value.name}</h5>
{$value.content|raw}
</div>
</div>
</div>
{/foreach}
{else /}
<div class="tools-item">
<img src="/web/BlackFruit-web/assets/img/index/phone.png" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>电话咨询</h5>
<p>7*24h不间断服务</p>
<p class="com-contact-tel">{$data.enterprise_telephone|default=''}</p>
</div>
</div>
</div>
<div class="tools-item">
<img src="/web/BlackFruit-web/assets/img/index/listen.png" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>在线客服</h5>
<p>工作日 09:00-18:00</p>
<a href="{$data.online_customer_service_link|default='javascript:;'}" class="line-server-btn" target="_blank">
<div class="button">立即查询</div>
</a>
</div>
</div>
</div>
<div class="tools-item">
<img src="/web/BlackFruit-web/assets/img/index/worl-order.png" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>提交工单</h5>
<p>专业工程师快速响应</p>
<a href="/plugin/27/ticket.htm">
<div class="button">立即提交</div>
</a>
</div>
</div>
</div>
<div class="tools-item">
<img src="/web/BlackFruit-web/assets/img/index/message.png" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>意见反馈</h5>
<p>您的意见是我们不断前进的动力</p>
<a href="/feedback.html">
<div class="button">立即反馈</div>
</a>
</div>
</div>
</div>
<div class="tools-item">
<img src="/web/BlackFruit-web/assets/img/index/cart.png" alt="">
<div class="tools-box">
<div class="tools-box-s">
<h5>购物车</h5>
<p>从这里开始,打造云端专属空间</p>
<a href="/cart/shoppingCar.htm">
<div class="button">前往购物车</div>
</a>
</div>
</div>
</div>
{/if}
</div>
</div>