在网站运营中,清晰、直观的导航菜单是用户体验的基石。一个设计精良的导航系统,不仅能帮助访客迅速找到所需信息,更能有效引导其在网站内部的浏览路径,对网站的可用性和SEO表现都有着举足轻重的影响。安企CMS深知其重要性,提供了一套灵活且强大的导航管理功能,让您无需编写复杂的代码,就能轻松实现动态、多级的导航菜单。

接下来,我们将一起探索如何在安企CMS中构建和管理这些动态导航菜单,包括如何实现带有二级甚至更深层次下拉效果的导航。

后端配置:构建导航菜单的骨架

安企CMS的导航菜单管理位于后台的“后台设置”模块,点击“导航设置”即可进入。这里是您定义和组织所有网站导航的地方。

1. 管理导航类别:为您的菜单分类

首先,您可以定义不同的导航类别来满足网站不同区域的菜单需求。默认情况下,系统会提供一个“默认导航”类别。但如果您希望网站有独立的顶部导航、页脚导航或侧边栏导航,可以通过“自定义导航类别”功能,轻松添加新的类别,例如“页脚导航”或“侧边栏导航”。每个类别都有一个唯一的ID,在前端模板调用时会用到。

2. 添加和组织导航链接:创建一级和二级菜单

在您选择的导航类别下,就可以开始添加具体的导航链接了。安企CMS原生支持两级导航,这意味着每个主菜单项下可以包含一层下拉菜单。

  • 创建一级菜单: 在添加导航链接时,将“上级导航”设置为“顶级导航”即可创建一个主菜单项。您可以为它填写“显示名称”、“子标题名称”(如果您的设计需要双标题)和“导航描述”。
  • 创建二级菜单: 若要创建下拉菜单,只需在添加新链接时,将“上级导航”指定为您希望其隶属的一级菜单项。这样,新创建的链接就会成为该一级菜单的子菜单。

3. 选择合适的链接类型:连接您的内容

安企CMS提供了多种链接类型,让您可以灵活地将导航菜单连接到网站的各个部分:

  • 内置链接: 包含“首页链接”、“文章模型首页”、“产品模型首页”以及其他自定义模型的首页。这些是网站最核心的入口。
  • 分类页面链接: 您可以直接选择网站中已有的任何“文档分类”或“单页面”作为导航链接。例如,您可以链接到“关于我们”单页,或者某个产品分类的列表页。
  • 外部链接: 允许您输入任何外部网址,无论是站内其他页面,还是外部网站,都能轻松集成到您的导航中。这对于引导用户访问合作伙伴网站或特定推广页面非常有用。

4. 调整显示顺序:排布菜单位置

每个导航链接都可以设置一个“显示顺序”值,数字越小,该链接在菜单中显示的越靠前。通过调整这些数字,您可以精确控制菜单项的排列位置。

前端实现:模板中的魔法

在安企CMS的模板文件中,动态生成导航菜单主要依靠navList标签。它会从后台获取您配置好的导航数据,然后您可以使用循环结构来构建HTML菜单。

1. 基础导航菜单的实现(一级菜单)

首先,在您的模板文件(例如header.htmlbase.html)中,您可以使用navList标签来获取导航数据。默认情况下,typeId为1,对应后台的“默认导航”类别。如果您创建了其他导航类别,需要将typeId参数设置为相应类别的ID。

{# 获取ID为1(默认)的导航类别下的所有导航数据 #}
{% navList navs with typeId=1 %}
<nav class="main-navigation">
    <ul>
        {%- for item in navs %} {# 遍历一级菜单项 #}
        <li {% if item.IsCurrent %}class="active"{% endif %}>
            <a href="{{ item.Link }}">{{ item.Title }}</a>
        </li>
        {% endfor %}
    </ul>
</nav>
{% endnavList %}

这段代码会生成一个简单的一级导航菜单。item.IsCurrent变量非常实用,它会自动判断当前访问的页面是否与该导航链接匹配,您可以利用它为当前页面添加active类名,以高亮显示。

2. 实现二级下拉菜单

要实现二级下拉菜单,您需要在遍历一级菜单项的循环内部,检查当前菜单项是否有子菜单 (item.NavList)。如果有,就再嵌套一个for循环来遍历