顶部导航
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
yiqiu
2026-01-10 16:20:18 +08:00
parent 745668a2bc
commit e72fbaf98a
3 changed files with 13 additions and 11 deletions

View File

@@ -140,6 +140,8 @@ class ThemeConfigModel
'enterprise_mailbox' => 'support@example.com',
'enterprise_qrcode' => '/upload/qrcode.png',
'official_website_logo' => '/upload/logo.png',
// Logo 链接配置(独立于导航数组)
'logo_link' => 'index.html',
// 在线客服链接,对应原主题中的 online_customer_service_link
'online_customer_service_link' => 'http://www.test.com',
'icp_info' => '京ICP备示例号',

View File

@@ -119,6 +119,11 @@
</div>
<div class="form-hint">建议尺寸: 200×60 像素</div>
</div>
<div class="form-item">
<label>Logo链接地址</label>
<input type="text" class="form-control" name="site_config.logo_link" placeholder="index.html">
<div class="form-hint">点击Logo跳转的链接地址默认为首页</div>
</div>
<div class="form-item">
<label>ICP备案号</label>
<input type="text" class="form-control" name="site_config.icp_info" placeholder="京ICP备XXXX号">
@@ -185,6 +190,7 @@
<div class="section-card">
<div class="section-header">
<h2>顶部导航</h2>
<p class="section-desc">配置网站顶部导航栏菜单项支持添加子菜单。注意Logo链接已在"基础配置"中独立设置,所有导航项都会正常显示。</p>
</div>
<div class="section-body">
<div id="headerNavList"></div>

View File

@@ -2,20 +2,19 @@
<nav class="section-content nav-header">
<div class="nav-left">
{php}
// 顶部导航与 Logo 走服务端渲染,兼容未配置时的默认值
$__homeNav = isset($data['header_nav'][0])
? $data['header_nav'][0]
: ['file_address' => 'index.html', 'blank' => false];
// 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="{$__homeNav.file_address|default='index.html'}" {if !empty($__homeNav.blank)}target="_blank" {/if}>
<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 $k > 0}
{if !empty($item.file_address)}
<a href="{$item.file_address}" {if !empty($item.blank)}target="_blank" {/if}>
<div class="nav-item">{$item.name}</div>
@@ -23,7 +22,6 @@
{else /}
<div class="nav-item">{$item.name}</div>
{/if}
{/if}
{/foreach}
{/if}
</div>
@@ -65,7 +63,6 @@
<div class="section-content">
{if isset($data.header_nav) && !empty($data.header_nav)}
{foreach $data.header_nav as $k=>$item}
{if $k > 0}
{if isset($item.children) && !empty($item.children)}
<div class="nav-cont-menu animated slideInDown">
<div class="nav-content">
@@ -88,7 +85,6 @@
{else /}
<div class="nav-cont-menu nav-cont-empty"></div>
{/if}
{/if}
{/foreach}
{/if}
</div>
@@ -113,7 +109,6 @@
<!-- 主导航菜单 -->
{if isset($data.header_nav) && !empty($data.header_nav)}
{foreach $data.header_nav as $k=>$item}
{if $k > 0}
<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">
@@ -123,7 +118,6 @@
<div class="mobile-nav-link">{$item.name}</div>
{/if}
</div>
{/if}
{/foreach}
{/if}
<!-- 分隔线 -->