`archiveList`标签如何根据分类ID、模型ID或推荐属性筛选文档列表?

📅 👁️ 70

在AnQiCMS中,灵活地展示内容是构建高效网站的关键之一。archiveList标签正是这样一个强大的工具,它允许我们根据多种条件筛选和展示网站的文档列表。无论是想在特定页面展示某一类文章,还是根据内容类型或编辑推荐来组织信息,archiveList都能提供精准的控制。

精准定位:根据分类ID筛选文档列表

当我们希望在网站的某个区域,例如侧边栏或者某个专题页面,展示特定分类下的文档时,categoryId参数就派上了用场。这个参数让我们可以指定一个或多个分类的ID,从而精确地提取出这些分类下的所有文档。

例如,如果你想展示ID为1的“公司新闻”分类下的文章,你可以这样使用:

{% archiveList archives with categoryId="1" limit="5" %}
    {# 在这里循环展示文档 #}
{% endarchiveList %}

如果你的内容跨越多个分类,例如同时想展示ID为1的“公司新闻”和ID为3的“行业动态”下的文档,只需将这些ID用逗号分隔开:

{% archiveList archives with categoryId="1,3" limit="10" %}
    {# 结合多个分类ID展示文档 #}
{% endarchiveList %}

值得注意的是,AnQiCMS的分类可以有层级关系。默认情况下,当你指定一个父级分类ID时,archiveList会自动包含其所有子分类下的文档。但如果你只希望展示当前指定分类(不包含其子分类)的文档,可以通过将child参数设置为false来实现:

{% archiveList archives with categoryId="1" child=false limit="5" %}
    {# 只展示ID为1分类下的文档,不包含其子分类 #}
{% endarchiveList %}

此外,在某些特殊的页面场景下,我们可能希望archiveList不自动继承当前页面的分类ID,而是完全由我们手动指定。这时,可以将categoryId明确设置为"0",以避免任何自动继承的行为。

内容划分:根据模型ID筛选文档列表

AnQiCMS的“内容模型”功能是其高度灵活性的体现。它允许我们定义不同类型的内容结构,例如“文章模型”、“产品模型”甚至是“案例模型”等。当我们需要区分这些不同类型的内容并在前端展示时,moduleId参数就显得尤为重要。

通过指定moduleId,我们可以确保archiveList只提取属于某个特定内容模型的文档。例如,如果“文章模型”的ID是1,而“产品模型”的ID是2,那么我们可以这样操作:

想展示最新的5篇“文章”:

{% archiveList articles with moduleId="1" order="id desc" limit="5" %}
    {# 展示最新的5篇文章 #}
{% endarchiveList %}

如果想列出全部的“产品”:

{% archiveList products with moduleId="2" type="page" limit="10" %}
    {# 列出所有产品,并支持分页 #}
{% endarchiveList %}

这种按模型筛选的方式,让网站的内容结构更加清晰,也方便了针对不同内容模型进行差异化的展示和管理。

突出重点:根据推荐属性筛选文档列表

除了分类和模型,AnQiCMS还提供了“推荐属性”功能,让内容运营者可以给文档打上特殊的标记,以实现“头条”、“推荐”、“幻灯”等突出显示的效果。flag参数便是用来利用这些推荐属性进行筛选的。

AnQiCMS支持多种推荐属性,每种属性都有一个对应的字母标识,例如:

  • h:头条
  • c:推荐
  • f:幻灯
  • a:特荐
  • s:滚动
  • p:图片
  • j:跳转

当你希望在首页的幻灯片区域展示那些被标记为“幻灯”的文档时,可以这样设置flag参数:

{% archiveList slides with flag="f" limit="3" %}
    {# 展示3篇被标记为“幻灯”的文档 #}
{% endarchiveList %}

你也可以同时筛选出具有多个推荐属性的文档,例如既是“推荐”又是“图片”的文档(尽管通常情况下只使用一个主要属性):

{% archiveList featuredImages with flag="c,p" limit="4" %}
    {# 展示4篇既是“推荐”又是“图片”的文档 #}
{% endarchiveList %}

flag相对应的是excludeFlag,如果你希望排除某种推荐属性的文档,例如不显示任何“头条”内容,可以这样使用:

{% archiveList regularContent with excludeFlag="h" limit="10" %}
    {# 展示除了“头条”之外的10篇文档 #}
{% endarchiveList %}

组合使用,实现更精细的筛选

archiveList标签的强大之处在于,上述这些筛选条件并非互相排斥,而是可以灵活组合使用的。通过同时指定categoryIdmoduleIdflag,我们可以构建出非常具体的文档列表。

例如,如果你想展示ID为1的“文章模型”下,且分类ID为5,并且被标记为“推荐”的最新10篇文档,你可以这样组合这些参数:

{% archiveList targetedArticles with moduleId="1" categoryId="5" flag="c" order="id desc" limit="10" %}
    {# 精准筛选:文章模型,分类ID为5,推荐属性,最新10篇 #}
{% endarchiveList %}

此外,对于使用AnQiCMS多站点管理功能的用户,还可以通过siteId参数来指定获取哪个站点下的文档列表,确保在多站点环境中也能灵活调用内容。

通过这些参数的灵活运用,archiveList标签能够帮助我们精确地控制网站内容的展示,无论是为了提升用户体验,还是为了优化搜索引擎排名,都能提供强有力的支持。


常见问题 (FAQ)

1. 我想在一个页面展示某个分类下的最新文档,并且这些文档必须是“文章模型”的,该怎么写?

你可以结合categoryIdmoduleIdorder参数来实现。假设分类ID为5,文章模型ID为1:

{% archiveList recentArticles with categoryId="5" moduleId="1" order="id desc" limit="5" %}
    {# 在这里循环展示最新5篇“文章模型”下的分类5文档 #}
{% endarchiveList %}

2. 如何避免archiveList自动获取当前页面的分类ID,而是完全按照我指定的ID来筛选?

你可以将categoryId参数明确设置为"0",这样archiveList就不会尝试读取当前页面的分类信息,而只会使用你手动指定(或未指定)的其他筛选条件。

{% archiveList myCustomList with categoryId="0" moduleId="1" limit="10" %}
    {# 确保不继承当前页面的分类ID,只展示模型ID为1的文档 #}
{% endarchiveList %}

3. 如果我想在一个列表中排除所有被标记为“头条”的文档,同时又只想显示某个分类下的内容,可以吗?

当然可以。你可以同时使用categoryIdexcludeFlag参数。假设分类ID为10,需要排除的头条属性为h

{% archiveList filteredList with categoryId="10" excludeFlag="h" limit="8" %}
    {# 展示分类ID为10,且不是头条的8篇文档 #}
{% endarchiveList %}

相关文章

如何在AnQiCMS模板中获取系统全局配置信息,例如网站名称和LOGO?

在AnQiCMS模板中巧妙获取网站全局配置,让您的网站更灵活 当我们设计或维护AnQiCMS网站模板时,经常会遇到一个需求:需要在网站的各个页面显示统一的全局信息,比如网站的名称、LOGO、备案号,或是自定义的联系方式等。手动在每个页面重复添加这些信息不仅效率低下,而且一旦需要修改,更新起来更是耗时费力。幸运的是,AnQiCMS提供了一个强大而便捷的`system`标签

2025-11-08

AnQiCMS如何通过定时发布功能提高内容运营的自动化程度?

在日益注重效率和用户体验的今天,内容运营的自动化程度直接关系到网站的竞争力。对于许多中小企业和自媒体运营者来说,如何在有限的人力资源下,确保内容的高质量、高频次和精准触达,是一个持续的挑战。AnQiCMS作为一款高效、灵活的内容管理系统,其内置的定时发布功能,恰好为解决这一难题提供了强大的支持。 想象一下这样的场景:您精心策划了一周甚至一个月的营销内容,包括文章、产品更新、活动预告等

2025-11-08

如何在AnQiCMS模板中实现多语言内容的切换和显示?

在今天的数字世界里,您的网站可能需要面向全球用户。AnQiCMS 充分理解这一需求,提供了强大的多语言支持功能,让您能够轻松构建和管理多语言网站,从而更好地服务不同国家和地区的用户。那么,如何在 AnQiCMS 的模板中实现多语言内容的切换和显示呢?让我们一步步来探索。 ### 理解 AnQiCMS 的多语言机制:两种“语言”的处理 在 AnQiCMS 中,我们需要区分两种类型的“语言”内容

2025-11-08

AnQiCMS的多站点管理中,如何为新站点配置独立的域名和数据库信息?

AnQiCMS 凭借其高效灵活的多站点管理功能,为用户提供了极大的便利,尤其是在需要为不同品牌、产品或服务搭建独立站点的场景下。当您希望为新的站点配置独立的域名和数据库信息时,AnQiCMS 提供了一套清晰且实用的管理流程。这不仅有助于数据的隔离与安全,也能让每个站点拥有更独立的运营和优化空间。 ### 理解多站点独立配置的价值 在探讨具体操作之前

2025-11-08

如何在AnQiCMS模板中创建多级分类导航并显示其子分类或相关文档?

在AnQiCMS模板中构建灵活的多级分类导航与内容展示 网站内容的有效组织是提供良好用户体验和提升搜索引擎可见性的关键一环。无论是企业官网、产品展示还是自媒体博客,清晰的多级分类导航都能帮助用户快速找到所需信息,同时也有利于搜索引擎理解网站结构。AnQiCMS作为一个高效、可定制的内容管理系统,提供了灵活的模板标签,让我们可以轻松实现复杂的多级分类导航和内容展示。 接下来

2025-11-08

AnQiCMS的评论列表标签`commentList`如何显示评论内容及用户状态?

在AnQiCMS中构建一个充满互动性的网站,评论功能无疑是提升用户参与度的关键。 `commentList` 标签正是AnQiCMS为此提供的一大利器,它能够帮助网站开发者和运营者灵活地展示评论内容,并清晰地呈现评论者的状态,让访客一眼就能掌握评论区的动态。 ### 核心功能概览:`commentList` 标签基础用法 `commentList` 标签主要用于获取指定文档的评论列表

2025-11-08

如何在AnQiCMS中开启和使用留言表单的验证码功能?

网站留言板是一个与访客互动的好地方,它拉近了网站与用户的距离。然而,如果没有适当的保护,留言板很快就会被各种垃圾信息、恶意提交甚至自动化脚本所淹没,这不仅影响了网站的整洁度,也可能占用服务器资源,甚至对网站的信誉造成损害。幸运的是,AnQiCMS 提供了一个简单而有效的解决方案:验证码功能。 在 AnQiCMS 中为留言表单开启和使用验证码功能,可以显著提高网站的安全性

2025-11-08

如何在AnQiCMS中利用`archiveFilters`标签实现文档参数的组合筛选?

## 驾驭AnQiCMS:巧用`archiveFilters`标签实现文档参数组合筛选的艺术 在内容运营中,为用户提供精准、高效的内容检索体验至关重要。设想一下,如果您的网站内容丰富多样,用户却难以快速找到他们所需的信息,这无疑会极大地影响用户体验和网站的转化率。安企CMS深谙此道,为此提供了强大的`archiveFilters`标签,让我们可以轻松实现文档参数的组合筛选功能

2025-11-08