如何在AnQiCMS中显示分类列表,并支持多级嵌套展示?

📅 👁️ 70

网站的分类导航是用户体验和信息架构的基石。一个清晰、易于导航的分类列表,特别是能够支持多级嵌套的列表,能极大地提升用户查找信息的效率,并优化搜索引擎对网站结构的理解。AnQiCMS 提供了强大而灵活的模板标签,让您轻松实现这一需求。

AnQiCMS 中的分类管理基础

在 AnQiCMS 的后台,您可以在“内容管理”模块下的“文档分类”中创建和组织您的网站分类。创建分类时,您可以为它指定所属的内容模型(例如,文章、产品等),并设定其上级分类,从而构建出清晰的层级关系。例如,您可以有一个“新闻中心”的一级分类,下面再创建“公司动态”、“行业资讯”等二级分类。这种层级结构是前端多级嵌套展示的基础。

核心:理解 categoryList 标签

AnQiCMS 模板中用于获取分类数据的核心工具是 categoryList 标签。这个标签非常灵活,通过调整其参数,您可以精确控制要显示哪些分类以及如何显示。

在使用 categoryList 时,几个关键参数需要您了解:

  • moduleId:指定您想要获取哪个内容模型下的分类。例如,如果您的文章模型ID是1,产品模型ID是2,通过设置 moduleId="1" 就能只获取文章分类。
  • parentId:这是实现多级嵌套的关键参数。当您将其设置为 0 时,它会返回所有顶级分类。如果您想获取某个特定分类的子分类,可以将 parentId 设置为该分类在循环中获得的 Id 属性。
  • limit:控制返回分类的数量。
  • siteId:如果您启用了多站点功能,可以通过此参数指定从哪个站点获取分类数据。

categoryList 标签的 for 循环中,每个分类项(通常命名为 item)都会提供一些有用的属性,例如:

  • item.Id:分类的唯一标识符。
  • item.Title:分类的显示名称。
  • item.Link:分类页面的链接地址。
  • item.HasChildren:一个布尔值,指示当前分类是否包含子分类,这对于构建动态嵌套菜单至关重要。

构建一级分类列表

最简单的应用是显示所有顶级分类,这通常构成您网站的主导航。您可以使用 moduleId 来指定内容模型,并通过设置 parentId="0" 来获取所有顶级分类。

{% categoryList categories with moduleId="1" parentId="0" %}
    <ul>{# 这将是一个无序列表,包含所有顶级分类 #}
        {% for item in categories %}
            <li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
        {% endfor %}
    </ul>
{% endcategoryList %}

实现多级嵌套分类展示

要实现多级嵌套分类列表,您可以利用 categoryList 标签的嵌套特性和 item.HasChildren 属性。在每个分类的循环内部,如果 item.HasChildrentrue,就再次调用 categoryList 标签来获取其子分类,并将 parentId 设置为当前分类的 item.Id。这样可以逐层深入,构建出任意深度的嵌套结构。

以下是一个三级分类嵌套的示例代码,您可以根据实际需求增加或减少层级:

”`twig {% categoryList categories with moduleId=“1” parentId=“0” %}

<ul class="main-category-list">{# 一级分类列表 #}
    {% for item in categories %}
        <li>
            <a href="{{ item.Link }}">{{ item.Title }}</a>
            {% if item.HasChildren %}
                <ul class="sub-category-list">{# 二级分类列表 #}
                    {% categoryList subCategories with parentId=item.Id %}
                        {% for subItem in subCategories %}
                            <li>
                                <a href="{{ subItem.Link }}">{{ subItem.Title }}</a>
                                {% if subItem.HasChildren %}
                                    <ul class="third-category-list">{# 三级分类列表 #}
                                        {% categoryList thirdCategories with parentId=subItem.Id %}
                                            {% for thirdItem in thirdCategories %}
                                                <li><a href="{{ thirdItem.Link }}">{{ thirdItem.Title }}</a></li>
                                            {% endfor %}
                                        {% endcategoryList %}
                                    </ul>
                                {% endif %}
                            </li>
                        {% endfor %}
                    {% endcategoryList %}

相关文章

如何在AnQiCMS模板中显示网站的banner图片列表?

网站的视觉元素对于吸引访客、传达品牌信息至关重要,而Banner图片列表正是其中一个核心组成部分。AnQiCMS作为一个功能强大的内容管理系统,提供了灵活的方式来在您的网站模板中展示这些Banner图片,无论是首页轮播、分类页专题图,还是单页面宣传图,都可以通过简洁的模板标签轻松实现。 在AnQiCMS中,网站的Banner图片并非统一管理于一个位置,而是根据其用途和作用范围

2025-11-08

如何在AnQiCMS中显示自定义单页面的详情和列表?

在AnQiCMS中,单页面(Page)功能为网站提供了展示独立、固定内容的强大能力,例如“关于我们”、“联系方式”、“公司简介”等页面。这些页面通常不属于某个分类,而是独立存在,承载着重要的企业信息或品牌故事。高效地创建、管理并灵活地在网站上展示这些单页面的详情和列表,是内容运营中不可或缺的一环。 ### 理解单页面及其作用 单页面在AnQiCMS中被设计为一种独立的内容载体

2025-11-08

AnQiCMS如何配置和显示网站的联系方式,如电话、地址、社交媒体?

网站的联系方式是与用户建立连接、提供支持的关键信息。安企CMS(AnQiCMS)提供了一套直观且灵活的方式来管理和展示这些重要信息,无论是电话、地址,还是各种社交媒体平台链接,都能轻松实现。 ### 在后台配置网站的联系方式 要配置网站的联系方式,您可以首先登录安企CMS的后台管理界面。在左侧导航栏中,找到并点击“后台设置”,然后选择“联系方式设置”。这里汇集了所有您可能需要展示的联系信息

2025-11-08

如何在AnQiCMS网站中显示多站点的不同内容和管理界面?

安企CMS(AnQiCMS)以其强大的多站点管理功能,为拥有多个品牌、子站点或内容分支的运营者提供了一个高效、灵活的解决方案。它允许您在同一个核心系统下,轻松创建、管理并展示多个独立运营的网站,大大提升了内容运营的效率。 ### 理解AnQiCMS的多站点架构 AnQiCMS的精妙之处在于,您只需安装一套核心系统,便能轻松创建并管理多个独立的网站,而无需为每个站点重复部署程序

2025-11-08

如何在AnQiCMS中显示特定分类的详细信息,包括其简介和Banner图?

在AnQiCMS中,分类页面不仅仅是内容的简单罗列,更是网站信息架构的重要组成部分,也是向用户展示特定主题、引导其深入浏览的关键入口。一个设计得当的分类页面,不仅能提升用户体验,还能有效优化搜索引擎排名。本篇文章将详细介绍如何在AnQiCMS中,灵活地显示特定分类的详细信息,包括其简介和精美的Banner图。 ### 分类信息的后台设置 要让分类页面展示专属的简介和Banner图

2025-11-08

如何在AnQiCMS中控制图像缩略图的生成方式和尺寸以优化显示效果?

AnQiCMS 在网站内容管理中提供了强大而灵活的图片处理机制,其中图像缩略图的生成方式和尺寸控制是优化网站显示效果、提升用户体验及加快页面加载速度的关键环节。通过系统内置的各项功能,我们可以轻松实现对缩略图的精细化管理,确保网站图片在不同场景下都能以**状态呈现。 ### 图像缩略图:网站优化的重要一环 网站上的图片不仅仅是视觉元素,更是内容传达和用户体验的载体。清晰

2025-11-08

如何在AnQiCMS中显示网站访客流量统计和爬虫抓取记录?

在网站运营中,深入了解访客行为和搜索引擎爬虫的活动轨迹,对于优化网站内容、提升SEO效果以及改善用户体验至关重要。AnQiCMS作为一个功能全面的内容管理系统,充分考虑到了这一点,为用户提供了便捷的流量统计和爬虫抓取记录功能,帮助我们更有效地分析网站表现。 ### 探秘网站访客流量统计 当您登录AnQiCMS的后台管理界面后,只需在左侧导航菜单中找到并点击“数据统计”选项

2025-11-08

如何在AnQiCMS中移除逻辑标签产生的空白行以优化页面显示?

在网站运营和前端开发中,页面的HTML结构整洁度对于维护代码可读性、提高开发效率以及在特定情况下优化页面渲染都有着不容忽视的作用。在使用AnQiCMS这类内容管理系统进行模板开发时,我们常常会遇到一个常见但又容易被忽略的问题:逻辑标签(如条件判断`if`、循环`for`等)在渲染时可能会引入多余的空白行,导致最终生成的HTML代码不够美观,甚至在某些对排版要求严格的布局中产生意外的视觉效果

2025-11-08