如何根据分类ID精准获取并展示特定文章列表?

📅 👁️ 74

在内容管理系统中,有效组织和展示内容是提升用户体验和网站SEO表现的关键。安企CMS以其灵活强大的模板引擎,让您可以轻松实现根据特定分类ID获取并展示文章列表的需求。无论是构建专题页面、分类归档,还是仅仅为了在首页展示某个特定栏目的最新内容,安企CMS都能提供直观且高效的解决方案。

本文将深入探讨如何利用安企CMS的模板标签功能,特别是archiveList标签,来精准地实现这一目标。


一、前期准备:了解分类ID

在开始编写模板代码之前,我们首先需要明确目标分类的ID。在安企CMS后台,找到“内容管理”菜单下的“文档分类”选项。在这里,您会看到所有已创建的分类列表。每个分类都会有一个唯一的数字ID(通常在编辑分类时可以在URL或详情页看到)。例如,您的“公司新闻”分类的ID可能是“1”,而“产品介绍”分类的ID可能是“5”。请记下您需要获取文章列表的分类ID,这将是我们在模板中精准调用的关键。


二、核心功能:archiveList 标签的妙用

安企CMS的模板系统采用类似Django的语法,其中archiveList标签是获取文章列表的核心工具。它提供了丰富的参数,让您能够高度定制化地筛选和展示内容。

1. archiveList 标签的基本结构

archiveList 标签通常与 for 循环结合使用,用于遍历获取到的文章列表。其基本语法如下:

{% archiveList 变量名 with 参数1="值1" 参数2="值2" %}
    {% for item in 变量名 %}
        {# 在这里展示每篇文章的信息 #}
        <a href="{{ item.Link }}">{{ item.Title }}</a>
        {# ... 更多文章详情字段 ... #}
    {% empty %}
        {# 如果没有找到文章,显示此内容 #}
        <p>该分类下暂无文章。</p>
    {% endfor %}
{% endarchiveList %}

其中,变量名是您自定义的,用于存储获取到的文章列表(例如 articlesnewsList 等)。item则是循环中每篇文章的临时变量。

2. 关键参数详解

为了根据分类ID精准获取文章,我们需要重点关注以下几个参数:

  • categoryId: 这是我们实现“根据分类ID精准获取”的核心参数。您只需将目标分类的ID作为值赋给它。如果是多个分类,可以使用逗号 , 分隔多个ID,例如 categoryId="1,3,5"。如果您希望列出当前页面所在分类的文章(例如您正在访问某个分类列表页),则可以不指定categoryId,系统会自动读取当前分类ID;如果希望明确不自动读取并只通过其他参数筛选,可以设置为categoryId="0"
  • moduleId: 在安企CMS中,内容通常归属于不同的“模型”(如文章模型、产品模型)。为了确保您获取的是文章,通常需要指定 moduleId="1"(文章模型的默认ID)。如果您不确定,可以在后台的“内容模型”管理中查看“文章模型”的ID。
  • limit: 控制您希望显示的文章数量。例如,limit="10" 将显示10篇文章。如果需要跳过前几篇获取后续文章(如实现“从第3篇文章开始显示5篇”),可以使用逗号分隔的格式,如 limit="2,5"(表示从索引为2的元素开始,获取5个元素)。
  • order: 定义文章的排序方式。常见的有:
    • order="id desc":按文章ID降序(最新发布的文章在前)。
    • order="views desc":按浏览量降序(热门文章在前)。
    • order="CreatedTime desc":按创建时间降序(与id desc类似,更明确)。
  • type: 决定列表的类型。
    • type="list" (默认值): 获取指定数量的文章列表,不带分页。
    • type="page": 用于需要分页显示的场景,需要与pagination标签配合使用。
  • child: (默认为true)如果您指定了一个分类ID,并希望同时包含该分类下的所有子分类的文章,则保持默认值child=true即可。如果您只想获取当前指定分类本身的文章,而不包括其子分类的文章,则需要明确设置为child=false
  • excludeCategoryId: 如果您想获取某个模型下的文章,但希望排除掉某些特定的分类,可以使用此参数。例如 excludeCategoryId="2,4" 将排除ID为2和4的分类下的文章。

三、实践场景:根据分类ID展示文章列表

让我们通过一些实际的代码示例,来看看如何根据不同的需求来展示文章列表。

1. 展示单一分类的最新文章列表

假设您想在网站的某个区域展示“公司新闻”(分类ID为1)的最新5篇文章。

<section class="latest-news">
    <h2>公司新闻</h2>
    <ul>
        {% archiveList news with categoryId="1" moduleId="1" limit="5" order="id desc" %}
            {% for item in news %}
                <li>
                    <a href="{{ item.Link }}" title="{{ item.Title }}">{{ item.Title }}</a>
                    <time datetime="{{ stampToDate(item.CreatedTime, "2006-01-02") }}">{{ stampToDate(item.CreatedTime, "2006-01-02") }}</time>
                </li>
            {% empty %}
                <li>暂无公司新闻。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</section>

说明:

  • categoryId="1":精确指定了分类ID为1。
  • moduleId="1":确保我们获取的是文章。
  • limit="5":限制只显示5篇文章。

相关文章

如何自定义安企CMS文章详情页的显示布局和元素?

在安企CMS中管理和展示内容是核心功能,而文章详情页作为用户获取信息、与网站互动的重要界面,其显示布局和元素的设计直接影响着用户体验和信息传达效率。安企CMS提供了高度的灵活性,让用户能够根据自身需求,深度定制文章详情页的展现方式。 要自定义文章详情页,首先需要了解安企CMS的模板系统。它采用类似于Django模板引擎的语法,模板文件通常以`.html`为后缀

2025-11-08

网站导航中的“内置链接”、“分类页面链接”、“外部链接”如何灵活配置显示?

网站导航,就好比是用户探索你网站的地图,一份清晰、高效的导航能大大提升用户体验,帮助访客快速找到所需信息。在AnQiCMS中,网站导航的配置提供了非常高的灵活性,让你能够根据实际需求,将“内置链接”、“分类页面链接”和“外部链接”巧妙地组合起来,并进行精细化设置。 ### 多样化的导航位置与层级管理 在AnQiCMS里,你不必拘泥于一套固定的导航菜单。你可以通过“导航类别管理”功能

2025-11-08

内容设置中的图片处理(Webp、大图压缩)如何影响页面加载速度和图片显示质量?

在网站运营中,图片无疑是吸引用户、丰富内容的关键元素。无论是产品展示、文章配图还是品牌形象,高质量的图片都能极大地提升页面的吸引力。然而,图片文件的大小也常常是拖慢网站加载速度的“罪魁祸首”。幸运的是,安企CMS(AnQiCMS)在内容设置中提供了强大的图片处理功能,如WebP格式转换和大图自动压缩,帮助我们巧妙地平衡图片质量与页面加载速度,从而提升整体用户体验和SEO表现。 ###

2025-11-08

伪静态规则(如URL结构)如何优化搜索引擎抓取和用户体验?

在网站运营中,网址(URL)扮演着至关重要的角色。一个设计良好的URL不仅能帮助搜索引擎更好地理解和抓取网站内容,也能显著提升用户的访问体验。安企CMS(AnQiCMS)深知这一点,因此在其系统中集成了灵活强大的伪静态规则和301重定向管理功能,让网站管理者能够轻松构建对搜索引擎和用户都友好的URL结构。 ### 伪静态规则:为什么它如此重要? 想象一下

2025-11-08

安企CMS如何实现多语言内容在前端页面的无缝切换与显示?

在全球化日益深入的今天,网站内容能够触达不同语言的用户,已经成为企业拓展市场、提升品牌影响力的关键。安企CMS(AnQiCMS)深知这一需求,在系统设计之初就将多语言支持作为核心功能之一,旨在帮助用户轻松实现内容在前端页面的无缝切换与显示。 那么,究竟安企CMS是如何帮助我们构建和管理多语言网站,并让访客在不同语言版本间流畅切换的呢?接下来,我们将从后台配置、模板设计到前端展现

2025-11-08

如何利用安企CMS的推荐属性(Flag)在首页或专题页展示精选内容?

安企CMS提供了一种高效的方式来管理和突出您网站上的重要内容,那就是通过文档的“推荐属性”(Flag)。这项功能让您能够轻松地在首页、专题页或其他关键位置展示精心挑选的内容,从而引导访客关注,提升网站的互动性和信息传递效率。 ### 后台设置推荐属性:内容精选的第一步 在安企CMS的后台,管理内容的起点便是发布或编辑文档。当您准备好一篇高质量的内容,希望它能在网站的关键位置脱颖而出时

2025-11-08

如何自定义内容模型字段并在模板中灵活调用显示其内容?

AnQiCMS 在内容管理上的核心优势之一,便是其灵活可定制的内容模型。这使得我们不再受限于固定的内容结构,能够根据网站的实际运营需求,创建出符合业务逻辑的个性化内容类型。无论您是发布技术文章、展示产品详情,还是管理活动信息,自定义内容模型字段都能帮助您精确地构建所需的内容结构,并最终在网站前台灵活地展示出来。 下面,就让我们一起了解如何在AnQiCMS中自定义内容模型字段

2025-11-08

如何为安企CMS的单页面设置独立的模板以实现高度个性化展示?

在网站运营中,我们常常会遇到这样的需求:某些单页面,例如“关于我们”、“联系方式”或者“产品下载”页面,需要拥有与众不同的布局和功能,以提供更独特的用户体验或承载特定的营销目标。安企CMS深知个性化展示的重要性,因此提供了非常灵活的方式,让我们能够为每一个单页面量身定制专属模板,实现高度个性化的展示效果。 安企CMS采用类似Django的模板引擎语法,让模板制作变得非常直观

2025-11-08