导航管理
位置:后台 →【基本功能】→【导航设置】
导航管理用于制作网站的自定义导航菜单:可以把栏目、自定义链接、图片导航混合编排成树形菜单,并且可以创建多套导航(如头部主导航、底部导航、页脚快捷导航),在模板中按需调用。
与栏目导航的区别:栏目导航 按栏目树自动生成,适合大多数场景;导航管理则完全自由——不依赖栏目结构,支持外链、图片、随意排序和多级嵌套,适合对菜单结构有定制要求的站点。
导航列表
每条记录代表一套导航,包含导航名称、菜单内容、显示状态。同一网站可以创建多套导航,模板中通过导航 ID 调用对应的某一套。
新增 / 编辑导航
基本信息
- 导航名称:自定义,仅用于后台区分多套导航
- 是否显示:控制该套导航整体是否在前台可用
导航菜单(可视化编辑)
点击【添加顶级菜单】添加第一项,之后可以:
| 操作 | 说明 |
|---|---|
| 添加子级 | 给任意菜单项添加下级,形成多级菜单 |
| 拖拽排序 | 拖住菜单项右侧的把手上下拖动调整顺序 |
| 展开全部 / 收起全部 | 折叠或展开整个菜单树 |
| 删除 | 删除菜单项(同时删除其所有子级) |
每个菜单项可以设置:
| 字段 | 说明 |
|---|---|
| 栏目 | 从栏目列表中选择,选择后菜单链接自动指向该栏目 |
| 标题 | 菜单显示文字;留空则自动使用所栏目的栏目名称(多语言站点会自动显示当前语言的栏目名) |
| 图片 | 菜单项配图,可从图库选择或直接上传(用于图片导航) |
| 自定义链接 | 选择"自定义链接"时填写,支持站内地址或外部网址 |
| 打开方式 | 本页(_self)/ 新页(_blank) |
| 状态 | 单独控制该菜单项显示/隐藏 |
保存后立即生效。
模板调用
前台公共变量 $jznav 以 导航 ID 为键保存了每套导航的树形数组:
<ul class="nav">
{foreach $jznav[1] as $v}
<li>
<a href="{$v['url']}" {if($v['target']=='_blank')}target="_blank"{/if}>{$v['title']}</a>
{if($v['children'])}
<ul class="subnav">
{foreach $v['children'] as $vv}
<li><a href="{$vv['url']}" target="{$vv['target']}">{$vv['title']}</a></li>
{/foreach}
</ul>
{/if}
</li>
{/foreach}
</ul>
每个菜单项的常用字段:
| 字段 | 说明 |
|---|---|
title | 菜单标题(留空时自动取栏目名称) |
url | 系统生成的链接:绑定了栏目时为栏目 URL(自动带多语言前缀),否则为自定义链接 gourl |
target | 打开方式:_self / _blank |
litpic | 菜单图片地址 |
tid | 绑定的栏目 ID(自定义链接为 0) |
children | 子菜单数组(同样结构,可递归输出) |
status | 是否显示 |
多级菜单可在模板中递归输出,或者用较少层级 + CSS 控制展示。
注意事项
- 修改导航后如前台未更新,请在【基本功能】→【清理缓存】清空缓存(导航数据有缓存)。
- 导航中绑定的栏目如果被删除,对应菜单项将失去链接,建议同步调整导航。
- 导航标题为固定文字;面向多语言站点时,推荐菜单项绑定栏目并留空标题,这样各语言下会自动显示该语言的栏目名称。
