如何在首页或侧边栏显示特定内容模型的顶级分类列表?

📅 👁️ 60

在安企CMS中管理网站内容,有时我们需要在首页或侧边栏等关键位置,清晰地展示特定内容模型的顶级分类列表。这不仅能有效引导访客浏览网站内容,提升用户体验,也是网站内容架构优化和搜索引擎友好的重要一环。借助AnQiCMS灵活的模板系统和强大的标签功能,实现这一需求既直接又高效。

理解核心:内容模型与分类

在安企CMS中,内容管理的核心在于“内容模型”。您可以根据业务需求创建不同的内容模型,例如“文章模型”用于发布博客、新闻,而“产品模型”则用于展示商品信息。每个内容模型都可以拥有独立的分类体系。要显示特定内容模型的顶级分类列表,首先要明确我们希望展示的是哪个内容模型的分类。

其次是“分类”概念,它是组织内容的基石。顶级分类指的是没有上级分类的分类,通常作为内容体系的最高层级。

关键工具:categoryList 模板标签

安企CMS的模板系统采用类似Django的语法,通过各种模板标签来获取和展示数据。对于获取分类列表,我们需要用到 categoryList 标签。这个标签专门设计用于获取分类数据,并提供了丰富的参数来精细控制输出结果。

其中,最关键的两个参数是:

  • moduleId:用于指定您要获取哪个内容模型下的分类。不同的内容模型在后台有唯一的ID。
  • parentId="0":这是一个非常重要的参数,它告诉系统我们只需要获取那些没有上级分类的,也就是“顶级分类”。

步骤详解:在首页或侧边栏展示顶级分类

第一步:确定内容模型ID

首先,我们需要知道目标内容模型的唯一ID。这通常在安企CMS的后台管理界面中查看。

  1. 登录安企CMS后台。
  2. 导航至“内容管理” -> “内容模型”。
  3. 在这里,您会看到所有已创建的内容模型列表,例如“文章模型”、“产品模型”等。每个模型都会有一个对应的ID(通常是数字)。例如,默认情况下,“文章模型”的ID可能为1,“产品模型”的ID可能为2。请记住您想要显示分类的模型ID。

第二步:选择合适的展示位置

您可以选择在首页主内容区域(index.html)、网站通用侧边栏(partial/aside.html 或类似名称的文件,具体取决于您的模板结构),或者页头、页脚等位置显示分类列表。如果列表是通用性的,且需要在多个页面复用,建议将其放在一个独立的模板片段文件中(例如 partial/top_categories.html),然后通过 {% include "partial/top_categories.html" %} 标签将其引入到需要显示的页面。这种模块化的做法能让您的模板代码更加整洁和易于维护。

第三步:编写模板代码

现在,我们来编写实际的模板代码。以下是一个通用的代码示例,演示如何获取“文章模型”的顶级分类,并将其展示为一个带链接的列表。

假设我们要在侧边栏显示“文章模型”(其ID假设为1)的顶级分类列表:

<div class="sidebar-block">
    <h3>文章分类</h3>
    <ul>
        {% categoryList categories with moduleId="1" parentId="0" %}
            {% for item in categories %}
                <li class="category-item">
                    <a href="{{ item.Link }}">{{ item.Title }}</a>
                    {# 如果需要,可以判断当前分类是否有子分类,并显示一个指示符 #}
                    {% if item.HasChildren %}
                        <span class="has-children-indicator">›</span>
                    {% endif %}
                </li>
            {% endfor %}
        {% endcategoryList %}
    </ul>
</div>

代码解析:

  • {% categoryList categories with moduleId="1" parentId="0" %}:这是核心标签,它会从ID为1的内容模型中,获取所有顶级分类,并将结果存储在名为 categories 的变量中。
  • {% for item in categories %}:遍历 categories 变量中的每一个分类数据。
  • item.Link:输出当前分类的URL链接。
  • item.Title:输出当前分类的名称。
  • item.HasChildren:这是一个布尔值,如果当前分类下有子分类,它会返回 true。您可以利用这个特性,为有子分类的项添加不同的样式或图标。
  • {% endcategoryList %}categoryList 标签的结束符,包裹在其中的是列表的循环内容。

如果您希望在每个顶级分类下方,再显示该分类下的几篇最新文章,您可以这样扩展代码(假设您想显示3篇文章):

<div class="sidebar-block">
    <h3>文章分类</h3>
    <ul>
        {% categoryList categories with moduleId="1" parentId="0" %}
            {% for item in categories %}
                <li class="top-category-item">
                    <a href="{{ item.Link }}">{{ item.Title }}</a>
                    {% if item.HasChildren %}
                        <span class="has-children-indicator">›</span>
                    {% endif %}
                    {# 显示该顶级分类下的最新文章 #}
                    <ul class="sub-articles">
                        {% archiveList articles with categoryId=item.Id type="list" limit="3" %}
                            {% for article in articles %}
                                <li><a href="{{ article.Link }}">{{ article.Title }}</a></li>
                            {% empty %}
                                <li>暂无文章</li>
                            {% endfor %}
                        {% endarchiveList %}
                    </ul>
                </li>
            {% endfor %}
        {% endcategoryList %}
    </ul>
</div>

扩展代码解析:

  • {% archiveList articles with categoryId=item.Id type="list" limit="3" %}:这是一个嵌套的 archiveList 标签,它会在当前分类(由 item.Id 决定)下,获取最新的3篇文章,并存储在 articles 变量中。
  • type="list":表示获取一个普通的列表,而不是分页列表。
  • limit="3":限制只显示3篇文章。
  • {% empty %} ... {% endarchiveList %}:如果 archiveList 没有获取到任何文章,则会显示“暂无文章”。

通过这样的代码组织,您就可以轻松地在网站的任何位置显示特定内容模型的顶级分类及其关联内容,极大地丰富了网站的内容展示形式。

实用建议

  • 样式控制:上述代码仅展示了结构,您需要结合CSS样式来美化分类列表的显示,使其符合您的网站设计。
  • 缓存更新:在修改模板代码后,如果前台页面没有立即生效,请尝试清理安企CMS的系统缓存,以确保最新代码被加载。
  • 模块化引用:如果您的网站有多个侧边栏或不同页面需要显示类似的分类列表,可以考虑将上述代码保存为单独的模板文件(例如partial/top_categories.html),然后通过{% include "partial/top_categories.html" %}在需要的地方引用,提高代码复用性和维护效率。

安企CMS的模板标签系统提供了极大的灵活性,让您能够根据具体需求,随心所欲地组织和展示网站内容。掌握这些基本方法,您将能更好地发挥AnQiCMS的潜力。


常见问题 (FAQ)

Q1: 如何在顶级分类下进一步显示其子分类列表? A1: 若要在顶级分类下显示其子分类,您可以在 {% for item in categories %} 循环内部,再次使用 `category

相关文章

我能如何构建和显示多级嵌套的分类导航菜单?

在安企CMS中构建和展示多级嵌套的分类导航菜单,是网站内容组织和用户体验优化的重要一环。一个设计良好、层级清晰的导航不仅能帮助访问者快速找到所需信息,更能为搜索引擎提供明确的网站结构信号,从而提升SEO效果。 安企CMS作为一款以Go语言开发的企业级内容管理系统,在内容模型的灵活性和模板标签的强大支持下,让实现多级分类导航变得非常直观和高效。接下来,我们将探讨如何一步步构建这样的导航

2025-11-08

如何在文章详情页显示“上一篇”和“下一篇”文章的链接和标题?

在网站运营中,提升用户体验和内容的可发现性至关重要。当读者沉浸在一篇文章中时,提供“上一篇”和“下一篇”的导航链接,不仅能引导他们继续浏览网站内容,还能有效降低跳出率,优化站内 SEO 结构。对于使用 AnQiCMS 管理网站的我们来说,实现这一功能既简单又高效。 AnQiCMS 提供了一套直观且强大的模板标签系统,使得在文章详情页集成“上一篇”和“下一篇”链接变得轻而易举

2025-11-08

在文章详情页,如何调用并展示文章的自定义字段内容?

在安企CMS中,文章详情页面的内容展示具有很高的灵活性,尤其是对于通过内容模型自定义的字段。这些自定义字段能够帮助我们更精细化地管理和展示不同类型的信息,例如产品的价格、作者的来源、房产的户型等。那么,如何在文章详情页准确地调用并展示这些自定义字段的内容呢?本文将详细介绍这一过程。 ### 一、自定义字段的创建与填写:奠定内容基础 在安企CMS中

2025-11-08

如何根据文章的关键词或自定义关联来显示相关文章列表?

在网站内容运营中,为用户提供相关文章列表,不仅能有效延长访客在网站上的停留时间,降低跳出率,更能通过引导用户发现更多感兴趣的内容,优化站内流量路径,对SEO表现也有着积极的促进作用。安企CMS(AnQiCMS)深知这一需求,为此提供了灵活且强大的功能,让我们能够根据文章的关键词或自定义关联,轻松展示相关文章列表。 ###

2025-11-08

如何创建和展示如“关于我们”、“联系我们”等单页面内容?

在网站运营中,像“关于我们”、“联系我们”这类单页面内容,是向访问者展示企业形象、核心价值或提供关键信息的窗口。它们通常承载着稳定、独立且不频繁更新的内容,对于建立信任、提供服务入口至关重要。AnQiCMS 为管理和展示这些单页面提供了非常便捷和强大的功能,让您可以轻松创建并灵活定制它们。 ### 第一部分:创建您的单页面内容 在 AnQiCMS 中创建单页面是一个直观且高效的过程

2025-11-08

AnQiCMS如何显示网站上所有使用的Tag标签,或只显示与当前文章相关的Tag?

在构建网站内容时,标签(Tag)扮演着重要的角色,它们不仅能帮助您更好地组织信息,提高内容的可发现性,还能优化用户体验,让访问者更容易找到感兴趣的内容。对于一个内容管理系统来说,灵活地展示和管理这些标签是其核心价值之一。AnQiCMS 在这方面提供了强大的功能,让您可以根据实际需求,轻松控制网站上标签的显示方式。 ### 添加和管理Tag标签 在 AnQiCMS 后台

2025-11-08

如何显示一个特定Tag标签下所有关联的文章列表?

在安企CMS中,标签(Tag)是组织内容、提升用户体验和优化搜索引擎表现的重要工具。它能将不同分类但主题相关的文章关联起来,让访问者更容易找到感兴趣的内容。当您需要展示一个特定Tag标签下所有关联的文章列表时,安企CMS提供了简洁而强大的模板标签来帮助您实现这一目标。 ### 理解核心:`tagDataList` 标签 要显示特定Tag标签下的文章列表,我们主要会用到安企CMS内置的

2025-11-08

如何优化AnQiCMS网站的URL结构以提升搜索引擎友好度?

在运营网站的过程中,一个好的URL结构,就像一张清晰的地图,不仅能帮助用户直观地了解页面内容,也能引导搜索引擎更高效地抓取和理解你的网站。AnQiCMS在设计之初就充分考虑了搜索引擎优化(SEO)的需求,内置了强大的URL管理功能,让我们可以轻松打造对搜索引擎友好的网站结构。 ### 理解搜索引擎友好的URL为何重要 在深入AnQiCMS的具体功能之前,我们先来简单聊聊

2025-11-08