如何在单个页面上聚合显示多个文章分类的内容列表?

📅 👁️ 71

在安企CMS中,实现单个页面上聚合显示多个文章分类的内容列表,是一个非常实用的需求,它能帮助网站管理员高效地组织内容,为访客提供更便捷的浏览体验。这通常应用于网站首页、专题页或聚合页,通过巧妙地运用AnQiCMS的模板标签,我们可以轻松达成这一目标。

核心思路:标签组合与循环嵌套

安企CMS提供了灵活的模板标签系统,其中categoryListarchiveList是实现内容聚合展示的两位核心玩家。我们的基本思路是:

  1. 首先获取你希望聚合展示的分类列表。 这可能是顶级分类,也可能是某个父级分类下的子分类。
  2. 然后遍历这些分类。 在每一次循环中,我们将得到当前分类的详细信息。
  3. 在每个分类内部,再根据当前分类的ID获取其下的文章列表并进行展示。 这样,每个分类的文章就会以独立的区块形式呈现在页面上。

通过这种标签组合和循环嵌套的方式,我们就能在一个页面上清晰地展示多个分类及其包含的文章内容。

准备工作:了解模板结构与内容模型

在动手之前,建议您先确认您的AnQiCMS模板结构和内容模型。安企CMS的模板文件通常存放在 /template 目录下,以 .html 为后缀。您可以选择在网站的首页模板 (index.html)、某个单页面 (page/detail.html),或者为特定的聚合页面创建一个自定义模板来放置这些代码。

另外,AnQiCMS支持灵活的内容模型,如“文章模型”、“产品模型”等。在获取分类和文章列表时,务必明确您想要获取的是哪个内容模型下的数据,因为不同的模型有各自独立的分类和文章数据。这通过moduleId参数来指定,例如,moduleId="1"通常代表文章模型,moduleId="2"代表产品模型。

关键模板标签的运用

1. categoryList:获取分类列表

categoryList标签用于获取网站的分类列表。我们可以用它来筛选出需要在页面上展示的分类。

  • moduleId: 指定内容模型ID,例如moduleId="1"(文章模型)。
  • parentId: 指定父级分类ID。parentId="0"表示获取所有顶级分类,如果您想获取某个特定分类下的子分类,可以填写该分类的ID。
  • 循环变量item的常用字段: Id (分类ID), Title (分类名称), Link (分类链接), Description (分类描述)等。

2. archiveList:获取文章列表

archiveList标签是获取文章(或产品,取决于moduleId)列表的核心标签。

  • type="list": 表示以列表形式展示,通常搭配limit参数。
  • categoryId: 这是最关键的参数,它将与外部categoryList循环中的分类ID绑定,确保获取的是当前分类下的文章。
  • moduleId: 同样需要指定内容模型ID,与categoryList中的moduleId保持一致。
  • limit: 控制每个分类下显示的文章数量,例如limit="6"表示每个分类显示6篇文章。
  • order: 指定文章的排序方式,例如order="id desc"(按ID降序,即最新发布),order="views desc"(按浏览量降序)。
  • 循环变量archive的常用字段: Id (文章ID), Title (文章标题), Link (文章链接), Description (文章简介), Thumb (缩略图), CreatedTime (发布时间), Views (浏览量)等。

3. for 循环与条件判断

for循环是遍历categoryListarchiveList返回的列表数据的基本方式。if条件判断则用于控制在特定情况下内容的显示,例如判断是否有缩略图,或者处理列表为空的情况。

4. stampToDate:时间格式化

在显示文章发布时间时,archive.CreatedTime返回的是时间戳,我们可以使用stampToDate标签将其格式化为易于阅读的日期格式,例如{{stampToDate(archive.CreatedTime, "2006-01-02")}}

5. categoryDetail:获取分类详情

虽然在categoryListfor循环中可以直接访问item.Titleitem.Link,但在某些需要获取更细致分类信息(如分类图片LogoThumb)的情况下,categoryDetail标签结合id=item.Id参数使用会更方便。

实战代码示例:聚合显示多个分类的文章列表

假设我们想在首页聚合展示“文章模型”下的几个顶级分类,每个分类显示最新的6篇文章。您可以在您的首页模板文件(例如 /template/default/index.html)中添加以下代码:

”`twig {# 外部循环:获取文章模型的顶级分类列表 #} {% categoryList categories with moduleId=“1” parentId=“0” %}

{% for item in categories %}
<div class="category-block">
    {# 显示分类标题和链接 #}
    <h3 class="category-title">
        <a href="{{ item.Link }}" title="更多{{item.Title}}">{{item.Title}}</a>

相关文章

如何完全自定义文章详情页的内容展示布局?

在安企CMS中,打造独具风格、内容丰富的文章详情页并非难事。这不仅仅是修改一下样式,更是深入到内容结构、数据调取和前端渲染的每一个环节,实现真正的“完全自定义”。安企CMS以其灵活的内容模型和强大的模板引擎,为我们提供了极大的自由度来达成这一目标。 ### 理解文章详情页的“骨架”:模板机制 要自定义文章详情页,首先需要了解安企CMS的模板机制。在安企CMS中

2025-11-09

如何在安企CMS中高效显示最新发布的文章列表?

在安企CMS中,高效地展示最新发布的文章列表是网站内容运营的基础,它能帮助您的网站保持活力,让访问者第一时间获取到最新信息。安企CMS提供了灵活且功能强大的模板标签,让您可以轻松实现这一目标。 ### 理解核心:`archiveList` 标签的魅力 要显示最新发布的文章列表,我们主要依赖安企CMS内置的 `archiveList` 模板标签。这个标签是获取网站各类文档(如文章

2025-11-09

如何生成和管理Sitemap,以提升网站内容在搜索引擎中的

对于任何希望在搜索引擎中脱颖而出的网站来说,Sitemap都是一个不可或缺的工具。它就像是您网站内容的详细地图,为搜索引擎蜘蛛(爬虫)指明了所有可供抓取和索引的页面。在安企CMS中,生成和管理Sitemap是一项高效且用户友好的任务,能够显著提升您网站内容的可见性。 ### 什么是Sitemap,以及它为何重要? Sitemap,顾名思义,就是网站地图。它是一个XML文件

2025-11-09

如何利用内容采集功能,快速填充大量待显示内容?

运营一个网站,最让人头疼的莫过于内容填充。无论是新站上线需要快速积累大量基础内容,还是现有网站需要保持持续更新以吸引和留住用户,手动撰写或整理内容都是一项耗时耗力的工作。在内容营销和SEO优化的今天,如何高效、批量地获取和管理待显示内容,成为了许多运营者面临的挑战。 安企CMS(AnQiCMS)深知这一痛点,其内置的内容采集功能正是为了解决这个难题而生。它不是简单地复制粘贴

2025-11-09

安企CMS如何实现网站内容的多语言前端展示与切换?

在构建面向全球用户的网站时,内容的多语言展示与切换是必不可少的一环。安企CMS(AnQiCMS)深知这一需求的重要性,因此在系统设计之初就融入了强大的多语言支持能力,帮助网站轻松实现内容的国际化布局。 ### 内容多语言管理的基础:多站点模式 安企CMS实现网站内容多语言展示的核心机制之一,便是其灵活的“多站点管理”功能。对于真正意义上的多语言网站

2025-11-09

如何配置伪静态URL规则以优化网站内容的搜索引擎显示?

在今天的互联网环境中,网站内容的搜索引擎显示效果直接关系到流量和转化。一个清晰、有意义的URL结构不仅能提升用户体验,更是搜索引擎优化(SEO)不可或缺的一环。安企CMS(AnQiCMS)深知这一点,因此提供了强大且灵活的伪静态URL规则配置功能,帮助网站管理者轻松优化URL结构。 ### 为什么配置伪静态URL规则对网站内容的搜索引擎显示至关重要? 在深入了解如何配置之前

2025-11-09

如何在文章内容中正确解析并显示Markdown格式的文本?

在安企CMS中,利用Markdown格式撰写文章是一种高效且优雅的内容创作方式,它让我们的内容结构更加清晰,排版更加灵活。特别是对于需要包含代码、数学公式甚至流程图的技术性文章而言,Markdown编辑器更是不可或缺的利器。那么,如何确保这些精心编写的Markdown文本能在网站前端正确地解析并完美呈现呢?让我们一步步来探索。 ### 启用Markdown编辑器 首先

2025-11-09

如何在AnQiCMS中自定义不同类型内容的显示布局?

## 解锁AnQiCMS:个性化内容布局的秘密武器 在数字化时代,网站不仅仅是信息的载体,更是品牌形象和用户体验的核心。一个能够灵活定制内容显示布局的系统,对于中小企业、自媒体运营者乃至多站点管理者来说,无疑是提升运营效率和用户吸引力的关键。AnQiCMS以其强大的内容模型和灵活的模板机制,为我们提供了实现这一目标的所有工具。 今天

2025-11-09