在网站运营中,清晰、直观的导航菜单是用户体验的核心,也是内容组织和推广的关键。安企CMS(AnQiCMS)深知这一点,为您提供了灵活强大的导航菜单自定义功能,并支持在前台实现多级下拉显示,让您的网站结构更加清晰,内容触达更加便捷。
接下来,我们将一起了解如何在AnQiCMS中轻松设置并应用这些导航。
第一步:在后台创建和管理导航菜单
要构建一个有层次感的导航菜单,我们首先需要进入AnQiCMS的后台进行配置。
进入导航设置界面:登录您的AnQiCMS后台后,请在左侧菜单中找到并点击“后台设置”,然后选择“导航设置”。这里是管理网站所有导航链接的中心。
管理导航类别:AnQiCMS允许您创建不同位置的导航,比如顶部主导航、页脚导航或侧边栏导航。系统默认会有一个“默认导航”类别。如果您需要为网站的不同区域设置独立的导航,可以在“导航类别管理”中添加新的类别,例如“页脚导航”。这有助于您更清晰地组织和管理不同用途的菜单项。
添加导航链接:
- 设置基本信息:点击“添加导航链接”,您会看到一系列可供填写的选项。首先是“显示名称”,这是菜单项在前台显示给用户的文字,您可以根据需要灵活命名。如果您的设计需要,还可以填写“子标题名称”或“导航描述”,它们可以在前端模板中被调用以提供额外信息。
- 选择链接类型:AnQiCMS提供了三种灵活的链接类型:
- 内置链接:包含了网站首页以及文章、产品等内容模型的首页链接,方便您快速引用网站核心页面的入口。
- 分类页面链接:您可以直接选择已创建的文章分类、产品分类或单页面作为导航链接。这非常适合将您的内容分类直接集成到主导航中。
- 外部链接:如果您需要链接到站内某个自定义URL,或者是外部网站的页面,可以选择此类型并手动输入完整的URL地址。
- 构建多级菜单(下拉菜单):要实现多级下拉菜单,关键在于设置“上级导航”。在添加新的导航链接时,如果这个链接是某个一级导航的子菜单项,您只需在“上级导航”下拉框中选择其对应的一级菜单。目前,AnQiCMS的导航列表支持最多两级结构,即一个主菜单项下可以有一个子菜单层级。
- 调整显示顺序:通过设置“显示顺序”的数字,您可以轻松调整菜单项的排列位置。数字越小,该菜单项在前台显示时越靠前。
通过以上步骤,您就可以在后台构建出清晰、有序且带有下拉层级的导航菜单结构了。
第二步:在前台模板中实现多级下拉显示
后台菜单配置完成后,下一步就是在网站的前端模板中将这些结构化的导航数据呈现出来,并赋予它们美观的下拉效果。
确定模板文件位置:通常,网站的顶部导航代码会放置在模板目录(如
/template/您的模板目录/)下的公共部分文件里,例如bash.html或header.html。您需要编辑这些文件来插入导航代码。使用
navList标签获取导航数据:AnQiCMS提供了一个专门用于获取导航列表数据的navList标签。您只需在模板中调用它,就能获取到后台配置好的所有导航菜单数据:{% navList navs with typeId=1 %} {# 这里的 navs 变量将包含您后台配置的导航数据。typeId=1 默认指主导航类别 #} {# 如果您创建了其他导航类别,比如ID为2的“页脚导航”,则改为 typeId=2 #} <ul class="main-menu"> {# 这是一个示例性的HTML结构,您需要根据您的设计自定义 #} {% for item in navs %} <li class="menu-item {% if item.NavList %}has-dropdown{% endif %} {% if item.IsCurrent %}active{% endif %}"> <a href="{{ item.Link }}">{{ item.Title }}</a> {# 检查当前菜单项是否有子菜单,如果有,则渲染子菜单 #} {% if item.NavList %} <ul class="submenu"> {# 子菜单的HTML结构 #} {% for sub_item in item.NavList %} <li class="submenu-item {% if sub_item.IsCurrent %}active{% endif %}"> <a href="{{ sub_item.Link }}">{{ sub_item.Title }}</a> </li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endnavList %}理解模板代码的关键逻辑:
{% navList navs %}:这行代码会从后台获取您配置的导航数据,并将其存储在navs这个变量中。{% for item in navs %}:这是一个循环,用于遍历所有的一级导航菜单项。{{ item.Link }}和{{ item.Title }}:分别输出当前菜单项的链接地址和显示名称。{% if item.NavList %}:这是实现下拉菜单的关键判断。item.NavList会包含当前菜单项的所有子菜单项。如果这个列表不为空,说明存在二级菜单,我们就渲染一个下拉容器。{% for sub_item in item.NavList %}:这个内层循环用于遍历并显示所有二级子菜单项的链接和名称。{% if item.IsCurrent %}active{% endif %}:这是一个非常有用的判断,它会检查当前菜单项是否对应用户正在访问的页面。如果是,您就可以给它添加一个active类名,通过CSS来高亮显示,提升用户体验。
结合CSS和JavaScript实现下拉效果:AnQiCMS的模板标签负责提供导航的数据结构和内容,但实际的下拉动画、hover效果和整体美观度,都需要依靠您编写的CSS样式和可能需要的JavaScript脚本来实现。例如,您可以编写CSS规则来控制
.submenu在鼠标悬停在.has-dropdown上时显示,并添加一些过渡动画。
实用技巧与注意事项
- 多站点导航的调用:如果您的AnQiCMS部署了多个站点,并且希望在某个站点的模板中调用其他站点的导航菜单,可以在
navList标签中添加siteId参数,例如{% navList navs with typeId=1 siteId=2 %},这里的siteId=2表示调用ID为2的站点的导航。 - SEO优化:在设置导航链接时,尽量选择能够准确描述页面内容的“显示名称”,并配合AnQiCMS强大的伪静态规则功能,生成对搜索引擎友好的URL结构。
- 及时更新缓存:后台对导航菜单进行任何修改后,请记得点击后台顶部的“更新缓存”按钮,确保前台页面能立即显示最新的更改。 *