如何使用AnQiCMS模板标签在页面中显示文章列表?

📅 👁️ 67

在AnQiCMS中,灵活地在网站页面上展示文章列表是网站内容管理的核心需求之一。无论是构建新闻动态、产品展示、博客文章还是其他任何需要列表呈现的内容,AnQiCMS强大的模板标签体系都能帮助您轻松实现。本文将详细介绍如何利用archiveList模板标签,结合AnQiCMS的各项功能,在您的网站页面中高效、美观地呈现文章列表。

理解archiveList:文章列表的核心标签

archiveList是AnQiCMS中用于获取和展示文章列表数据的核心模板标签。它的设计旨在提供高度的灵活性,让您可以根据不同的需求,如按分类、按模型、按推荐属性甚至按关键词搜索等条件,来筛选并呈现文章内容。

在使用archiveList标签时,您需要将其包裹在一个{% archiveList ... %}{% endarchiveList %}的结构中。获取到的文章数据通常是一个集合(数组),因此我们还需要配合{% for item in 变量名 %}循环标签来遍历并展示每一篇文章的详细信息。例如,最基本的文章列表调用结构可能如下所示:

{% archiveList archives with type="list" limit="10" %}
    {% for item in archives %}
        <li>
            <a href="{{ item.Link }}">{{ item.Title }}</a>
            <span>发布日期: {{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
        </li>
    {% empty %}
        <li>当前没有文章内容。</li>
    {% endfor %}
{% endarchiveList %}

在上面的示例中,archives是我们为文章列表数据定义的变量名,您也可以根据自己的习惯命名。type="list"表示我们希望获取一个普通的文章列表,limit="10"则限定了只显示最新的10篇文章。{% empty %}标签在for循环中非常实用,当archives列表为空时,它会显示“当前没有文章内容”的提示,避免页面出现空白。

archiveList的常用参数与灵活配置

archiveList标签提供了丰富的参数,让您能够精细控制文章列表的显示内容。以下是一些常用参数及其应用场景:

  1. moduleId:指定内容模型 AnQiCMS支持自定义内容模型,例如文章模型、产品模型等。通过moduleId参数,您可以指定从哪个内容模型中获取文章。例如,moduleId="1"通常用于获取默认的文章模型内容,moduleId="2"可能用于获取产品模型的内容。

    {# 获取产品模型下的最新10条数据 #}
    {% archiveList products with moduleId="2" type="list" limit="10" %}
        {# ... 循环展示产品信息 ... #}
    {% endarchiveList %}
    
  2. categoryId:按分类筛选文章 如果您只想显示特定分类下的文章,可以使用categoryId参数。您可以指定单个分类ID(如categoryId="1"),也可以指定多个分类ID(如categoryId="1,2,3")。如果希望获取当前页面所在分类的文章,通常可以省略categoryId参数,AnQiCMS会自动识别。若要明确不根据当前分类过滤,则可以设置为categoryId="0"

    {# 获取分类ID为5的文章列表 #}
    {% archiveList articles with categoryId="5" type="list" limit="5" %}
        {# ... 循环展示文章 ... #}
    {% endarchiveList %}
    
  3. limit:控制显示数量与分页偏移 limit参数用于控制列表显示的文章数量。您可以直接指定一个数字(如limit="10"),表示获取前10条。更高级的用法是使用offset,limit的格式,例如limit="5,10"表示从第6条文章开始(跳过前5条),获取接下来的10条文章。这在构建“更多推荐”或需要跳过N条数据时非常有用。

    {# 跳过前2条,获取接下来的5条文章 #}
    {% archiveList recentArticles with type="list" limit="2,5" %}
        {# ... 循环展示文章 ... #}
    {% endarchiveList %}
    
  4. type:列表类型(普通列表、分页列表、相关文章) type参数是archiveList中一个非常关键的选项:

    • type="list" (默认值): 获取一个固定数量的文章列表,不包含分页信息。
    • type="page": 用于生成带分页功能的文章列表。当设置为type="page"时,通常需要结合pagination标签来渲染页码导航。
    • type="related": 用于获取与当前文章相关的文章。这个参数通常在文章详情页使用,AnQiCMS会根据当前文章的分类或关键词智能推荐相关文章。
    {# 结合分页标签展示文章列表 #}
    {% archiveList paginatedArticles with type="page" limit="10" %}
        {# ... 循环展示文章 ... #}
    {% endarchiveList %}
    
    {# 渲染分页导航 #}
    {% pagination pages with show="5" %}
        {# 具体的页码链接渲染逻辑,例如首页、上一页、中间页、下一页、末页 #}
        {% if pages.PrevPage %}<a href="{{ pages.PrevPage.Link }}">上一页</a>{% endif %}
        {% for item in pages.Pages %}<a href="{{ item.Link }}">{{ item.Name }}</a>{% endfor %}
        {% if pages.NextPage %}<a href="{{ pages.NextPage.Link }}">下一页</a>{% endif %}
    {% endpagination %}
    
  5. order:指定排序方式 您可以使用order参数来定义文章列表的排序规则。常见的排序方式有:

    • order="id desc":按文章ID倒序(最新发布)。
    • order="views desc":按浏览量倒序(最热门)。
    • order="sort desc":按后台自定义排序字段倒序。
    • order="CreatedTime desc":按创建时间倒序。
    {# 获取浏览量最高的5篇文章 #}
    {% archiveList hotArticles with type="list" limit="5" order="views desc" %}
        {# ... 循环展示文章 ... #}
    {% endarchiveList %}
    
  6. flag:按推荐属性筛选 在AnQiCMS后台发布文章时,您可以为文章设置多种推荐属性(如头条[h]、推荐[c]、幻灯[f]等)。通过flag参数,您可以筛选出具有特定推荐属性的文章。例如,flag="h"将只显示被标记为头条的文章。

    {# 获取所有被标记为幻灯(f)的文章 #}
    {% archiveList slides with type="list" limit="5" flag="f" %}
        <img src="{{ item.Logo }}" alt="{{ item.Title }}">
        <h3>{{ item.Title }}</h3>
    {% endarchiveList %}
    

在循环中获取文章的详细信息

archiveList标签内部的for循环中,item变量代表了当前遍历到的每一篇文章。您可以通过item.字段名的方式来获取文章的各种属性:

  • item.Id: 文章ID
  • item.Title: 文章标题
  • item.Link: 文章详情页链接
  • item.Description: 文章简介
  • item.CreatedTime: 文章发布时间(时间戳格式,需要用stampToDate进行格式化)
  • item.Views: 文章浏览量
  • item.Thumb / item.Logo: 文章缩略图/封面图链接
  • item.CategoryId: 文章所属分类ID

格式化日期 由于CreatedTime等时间字段是时间戳,我们需要使用stampToDate辅助标签来将其格式化为可读的日期字符串。 例如:{{ stampToDate(item.CreatedTime, "2006年01月02日 15:04") }}

获取分类和标签信息 在文章列表中,您可能还希望显示每篇文章所属的分类名称或其关联的标签。这可以通过结合categoryDetail

相关文章

如何在安企CMS中获取指定文章或分类的Logo图和Banner组图,并灵活应用于模板显示?

## 玩转视觉内容:安企CMS中文章与分类Logo图及Banner组图的灵活调用与展示 在构建和运营网站时,引人注目的视觉内容是吸引用户、传达品牌形象的关键。安企CMS深知这一点,因此在系统设计中提供了强大而灵活的图片管理和调用功能,无论是文章的封面Logo、分类的代表性缩略图,还是用于营造氛围的Banner组图,都能轻松实现并应用于网站模板

2025-11-08

如何在页面内容结构调整后,通过301重定向确保旧链接流量不流失并正确显示新内容?

在网站运营过程中,内容的更新、分类结构的调整或是URL地址的优化是常见操作。然而,这些变动如果不妥善处理,很可能导致网站流量的流失和搜索引擎排名的下降。幸运的是,安企CMS(AnQiCMS)内置了强大的301重定向功能,能够帮助我们平稳地度过这些调整期,确保旧链接的流量能够无缝过渡到新内容。 ### 为什么301重定向不可或缺? 301重定向,即永久性转移

2025-11-08

如何在网站前台通过语言切换器,根据用户选择显示不同的语言版本和内容?

安企CMS作为一款高效、可定制的内容管理系统,在多语言支持方面表现出色,能够帮助运营者轻松构建面向全球用户的多语言网站。通过巧妙利用其内置功能,我们可以在网站前台搭建灵活的语言切换器,根据用户的选择,精准呈现不同语言版本的内容,从而有效提升用户体验并拓宽市场覆盖。 ### 理解多语言支持的核心 在安企CMS中,实现多语言并非仅仅是简单的文本替换,而是一个系统性的工作流程

2025-11-08

安企CMS的定时发布功能如何确保文章在指定时间自动显示在网站前端?

在快节奏的数字内容世界中,如何确保内容在**时机精准触达目标受众,是每一位内容运营者面临的挑战。手动操作不仅效率低下,还可能因疏忽导致发布失误。安企CMS(AnQiCMS)的定时发布功能正是为解决这一痛点而生,它提供了一种智能、自动化的方式,确保您的文章能够在预设的时间点准确无误地显示在网站前端。 ### 理解定时发布的核心价值 对于内容运营者而言,定时发布不仅仅是一个方便的工具

2025-11-08

AnQiCMS如何获取并展示当前文章的详细内容?

在安企CMS中,要获取并展示当前文章的详细内容,主要围绕模板文件的组织和内置的模板标签展开。理解这些核心机制,就能灵活地控制文章在前端页面的呈现方式。 ### 核心概念:文章详情页面的构成 在安企CMS中,每篇文章的详细内容通常通过一个特定的模板文件来展示。这个模板文件会根据文章所属的内容模型(例如“文章模型”或“产品模型”)以及在后台的设置,自动或手动地被系统调用。默认情况下

2025-11-08

网站首页的TDK信息(标题、关键词、描述)在AnQiCMS中如何设置和显示?

在网站运营中,TDK(Title、Description、Keywords)信息是搜索引擎优化(SEO)的基础,尤其对于网站首页而言,其重要性不言而喻。清晰、准确的首页TDK能有效帮助搜索引擎理解网站核心内容,从而提升网站在搜索结果中的可见度和吸引力。那么,在AnQiCMS中,我们如何方便快捷地设置和管理这些关键信息,并确保它们正确地呈现在用户面前呢? ### 一

2025-11-08

AnQiCMS如何实现多站点内容在不同域名下的独立显示?

在使用 AnQiCMS 搭建和管理网站时,用户常常会面临需要为不同品牌、业务或地区创建独立站点的需求,并且希望这些站点能在各自的域名下独立显示。AnQiCMS 强大的多站点管理功能,正是为了解决这一痛点而设计的。它允许用户在**一套 AnQiCMS 核心程序**的基础上,轻松创建并运营多个内容独立、域名独立的网站。 ### AnQiCMS 多站点管理的核心理念 AnQiCMS

2025-11-08

如何自定义AnQiCMS的URL伪静态规则以优化搜索引擎的链接显示?

在当今的数字世界中,一个清晰、友好且易于搜索引擎抓取的URL结构,对于网站的可见性至关重要。作为内容管理系统的核心功能之一,URL伪静态规则的自定义能力,能让您的网站在搜索引擎中拥有更佳的表现。AnQiCMS作为一款注重SEO优化的内容管理系统,提供了非常灵活的伪静态配置选项,让您可以轻松实现这一目标。 ### 理解URL伪静态的重要性 首先,我们来简要了解一下什么是伪静态URL

2025-11-08