如何结合`archiveFilters.md`获取的筛选条件,应用到`archive/list`的自定义筛选参数中?

📅 👁️ 75

在安企CMS中,高效地管理和展示网站内容是提升用户体验的关键。当内容量日益增长时,提供灵活的筛选功能,帮助访客快速找到所需信息,显得尤为重要。安企CMS为此提供了强大的API接口支持,通过巧妙地结合archive/filters接口获取的筛选条件,并将其应用到archive/list接口的自定义筛选参数中,我们可以构建出极其实用的内容筛选功能。

理解安企CMS的筛选机制

安企CMS的文档筛选能力,主要体现在两个核心API接口的协同工作上:一个是用于发现网站上可用的筛选条件(/api/archive/filters),另一个则是应用这些条件来获取具体文档列表(/api/archive/list)。这两者之间存在着紧密的联系,通常我们会先通过第一个接口了解当前内容模型下有哪些可筛选的维度,然后再将用户的选择转化为第二个接口能够识别的参数,从而精准地提取所需内容。

在使用这两个接口时,一个至关重要的参数是模型ID(moduleId。在安企CMS中,不同的内容类型(比如文章、产品、案例等)都对应着一个特定的内容模型,每个模型可能有其独特的筛选字段。因此,在进行任何筛选操作之前,明确你想要筛选的是哪个模型下的文档是第一步。

获取可用的筛选条件 (/api/archive/filters)

想象一下,你正在为你的产品展示页面设计一个筛选器,用户希望能够按照“城市”或“学历”来查找相关产品。这时,你就需要知道安企CMS为你的“产品”模型(假设其moduleId是1)配置了哪些可供筛选的字段和选项。

通过调用/api/archive/filters接口,并传入你感兴趣的moduleId,你就能得到一份详细的筛选条件列表。例如,请求{域名地址}/api/archive/filters?moduleId=1,返回的数据结构会告诉你,当前模型下有哪些筛选器(如“城市”、“学历”),以及它们对应的字段调用名称(field_name和所有可选的参数选项(items.label

这份数据至关重要,它就像一份筛选功能的“地图”。其中,field_name是每个筛选条件在后端系统中的唯一标识,也是我们后续构建查询参数时会用到的键名。而items数组中的label字段,则是前端展示给用户选择的具体选项,比如“北京”、“上海”或是“硕士”、“本科”等。

应用筛选条件获取文档列表 (/api/archive/list)

现在我们已经知道了可以按哪些维度进行筛选,接下来就是如何将用户的选择转化为实际的查询请求,并提交给/api/archive/list接口。这个接口负责根据你提供的参数,返回符合条件的文档列表。

/api/archive/list接口不仅支持常规的moduleIdcategoryIdpagelimitq(搜索关键词)等参数,更强大的是它允许你添加自定义筛选参数。这些自定义参数的键名,正是我们从/api/archive/filters接口获取到的field_name

举个例子,如果/api/archive/filters告诉我们有一个field_namecity的筛选器,并且它有“北京”、“上海”等选项。那么,当用户选择了“北京”时,我们就可以向/api/archive/list接口发送一个查询参数,形如city=北京。完整的API调用看起来会像这样:{域名地址}/api/archive/list?moduleId=1&type=page&city=北京

如果用户同时选择了多个筛选条件,比如既要查找“北京”的文档,又要筛选“本科”学历,那么我们只需将这些筛选参数通过URL的Query String形式叠加即可:{域名地址}/api/archive/list?moduleId=1&type=page&city=北京&certificate=本科。请注意,为了启用筛选功能并获取总数,type参数通常应设置为page

此外,你还可以结合其他参数来进一步优化结果,例如使用order参数指定排序方式(如order=views desc按浏览量降序),或者使用q参数进行关键词搜索,这些都可以与自定义筛选参数无缝配合。

实际操作步骤与前端实现思路

为了更清晰地理解整个流程,我们来梳理一下在实际开发中如何利用这两个接口构建一个动态筛选内容的功能:

  1. 步骤一:明确目标模型 在你的页面或组件加载时,首先确定你希望筛选哪个文档模型下的内容,获取其

相关文章

`archive/list`接口返回的`status`字段,如何判断文档的可见性或审核状态?

在安企CMS中,内容管理的核心之一就是对文档状态的把控,这直接关系到网站内容的可见性和审核流程。当您通过`archive/list`接口获取文档列表时,返回数据中的`status`字段便承担着这一关键职责。理解这个字段的含义,能帮助您更高效地管理网站内容,并确保信息以正确的方式呈现给访问者。 ### `status`字段

2025-11-09

AnQiCMS文档列表返回的`created_time`和`updated_time`是Unix时间戳吗,如何转换为可读日期?

在使用AnQiCMS时,我们经常会从API接口获取文档或其他内容的详细信息或列表。在这些返回数据中,`created_time`(创建时间)和`updated_time`(更新时间)是两个非常关键的字段。许多用户可能会好奇,这些看起来像一串数字的值到底是什么?它们其实是标准的Unix时间戳。 ### 理解Unix时间戳 Unix时间戳,又称Posix时间

2025-11-09

`type=related`模式在AnQiCMS文档列表接口中如何使用,以获取相关文章?

在网站内容运营中,为用户提供相关文章推荐是提升用户体验、延长访问时长以及优化内容发现的重要策略。AnqiCMS的文档列表接口(`archive/list`)提供了一个非常便捷的功能,通过设置`type=related`参数,就能轻松实现这一目标。 ### 理解 `type=related` 模式 当用户浏览完一篇文档(文章、产品等)后,通常会希望能找到更多与当前内容主题相近、信息互补的资料

2025-11-09

如何在前端页面构建AnQiCMS文档列表的分页导航(`page`和`total`参数)?

在网站前端展示大量文档时,分页导航是提升用户体验和管理数据加载效率的关键功能。安企CMS(AnQiCMS)提供了强大且灵活的API接口,让您能够轻松地在前端实现文档列表的分页功能。本文将详细介绍如何利用`archive/list`接口中的`page`和`total`参数,构建一个功能完善的分页导航。 --- ### 理解安企CMS分页机制的核心 要构建文档列表的分页导航

2025-11-09

当`archive/list`返回`code`为`-1`时,`msg`字段会给出哪些错误信息?

在使用安企CMS进行网站内容管理时,我们经常会与各项API接口打交道,其中 `archive/list` 接口是获取文档列表的核心。在使用过程中,您可能会遇到接口返回 `code` 为 `-1` 的情况。此时,理解 `msg` 字段提供的信息就显得尤为重要,它能帮助我们快速定位问题所在。 当 `archive/list` 接口返回 `code: -1` 时,这意味着请求未能成功执行

2025-11-09

如何高效地从AnQiCMS文档列表中提取并显示文章简介(`description`字段)?

在内容管理中,为网站上的文章提供清晰、吸引人的简介至关重要。这不仅能帮助搜索引擎更好地理解页面内容,提高收录和排名,也能在列表页、搜索结果页或社交分享时,快速抓住访问者的注意力,引导他们点击阅读完整内容。安企CMS(AnQiCMS)提供了多种灵活的方式来管理和获取这些内容,其中高效地提取并显示文章简介 (`description` 字段`) 便是我们日常运营中一个常见的需求。 AnQiCMS

2025-11-09

`url_token`在AnQiCMS文档列表结果中有什么作用,如何用于生成友好的URL?

在AnQiCMS中,`url_token` 是一个至关重要的概念,它不仅仅是文档列表中的一个字段,更是构建网站友好URL(Friendly URL)的核心要素。理解它的作用和使用方式,能帮助我们更好地优化网站结构,提升用户体验和搜索引擎排名。 ### `url_token` 在文档列表结果中的作用 当我们通过AnQiCMS的API获取文档列表时,例如调用 `archive/list` 接口

2025-11-09

获取AnQiCMS文档列表时,如何确保只返回父级分类下的文档,而不包含子分类?

在使用安企CMS管理网站内容时,我们经常会遇到需要精确控制文档显示范围的情况。例如,当您希望在某个父级分类页面上,只展示该分类直接发布的文档,而不涉及其下属子分类中的内容时,就需要对文档列表的获取方式进行一番调整。安企CMS提供了非常灵活的API接口,让您轻松实现这一需求。 要确保获取到的文档列表只包含父级分类下的内容,而自动排除所有子分类的文档

2025-11-09