在安企CMS中,为了让您的网站内容更具动态性和互动性,将自定义字段配置为筛选条件是一个非常实用的功能。它能够帮助用户根据特定的属性快速找到所需内容,从而显著提升网站的用户体验。接下来,我们一起了解如何在安企CMS中实现这一功能。
自定义字段:内容的“活”标签
首先,我们需要理解什么是自定义字段。在安企CMS中,自定义字段是您为特定内容模型(如文章、产品等)添加的额外数据项。它们可以是文本、数字、单选、多选、下拉菜单等多种类型。比如,如果您运营一个房产网站,可以为“房屋”内容模型添加“户型”、“面积”、“地段”等自定义字段;如果您管理一个招聘网站,可以添加“城市”、“学历”、“工作经验”等字段。
这些自定义字段不仅用于存储和展示额外的信息,更重要的作用在于它们可以成为用户筛选内容的关键。通过将其配置为筛选条件,您可以让您的网站从简单的内容展示平台,升级为功能强大的信息检索工具。
开启筛选功能:后台配置是关键
将自定义字段变为筛选条件,第一步是在安企CMS的后台管理界面进行设置。您需要进入到您希望配置筛选功能的对应模型管理页面。例如,如果您的文章模型需要根据“作者”或“发布地区”进行筛选,您就进入文章模型的字段管理。
在模型的字段设置中,您会看到每个自定义字段都有一个名为“是否筛选参数”(is_filter)的选项。这个选项是实现筛选功能的关键。当您勾选了这个选项并保存后,安企CMS就会将这个自定义字段识别为可用于内容列表筛选的条件。
值得注意的是,对于那些预设了选项值(如单选、多选、下拉菜单)的字段,您在创建字段时输入的值将自动成为前端筛选器中的具体选项。例如,如果您为“城市”字段设置了“北京、上海、广州”等值,那么这些城市名就将作为筛选器中的可选项出现。
获取筛选条件:动态呈现用户选项
当您的自定义字段被配置为可筛选后,前端页面如何知道有哪些筛选条件和具体的选项呢?这时候就需要用到安企CMS提供的 archive/filters 接口。
通过向 archive/filters 接口发送一个GET请求,并带上您想要获取筛选条件的 moduleId(模型ID),它会返回一个包含所有可筛选字段的列表。每个字段都会带有其显示名称(name)、在API调用中使用的实际调用名(field_name),以及一系列具体的筛选选项(items)。
例如,如果您请求模型ID为1的筛选条件,返回数据可能包含“城市”和“学历”两个筛选字段,每个字段下又列出了如“北京”、“上海”、“硕士”、“本科”等具体的选择项。这些信息可以帮助您在网站前端动态生成筛选表单,用户无需手动输入即可选择预设好的条件。
应用筛选:精确获取所需内容
获取到筛选条件列表后,接下来就是如何将这些条件应用到实际的内容查询中,从而获取更精准的文档列表。archive/list 接口是实现这一目标的核心。
在调用 archive/list 接口时,除了常规的 moduleId、categoryId、order 等参数,您还可以直接将自定义字段的 field_name 作为URL查询参数名,并将用户选择的选项值作为参数值进行传递。
举个例子,如果您想查找所有模型ID为1,并且“城市”为“北京”的文章,您的API请求URL可能像这样:
{域名地址}/api/archive/list?moduleId=1&city=北京
如果您还需要进一步筛选“学历”为“本科”的内容,可以继续添加参数:
{域名地址}/api/archive/list?moduleId=1&city=北京&certificate=本科
通过这样的参数组合,archive/list 接口就会返回只符合这些筛选条件的内容列表,极大地提升了用户查找信息的效率和内容的可用性。
总结
通过以上步骤,安企CMS灵活的自定义字段配置结合强大的API接口,使得构建具备高度可定制化筛选功能的网站变得轻而易举。这不仅能让网站管理员更高效地组织和管理内容,也能为最终用户提供一个更加智能、便捷的内容浏览体验。
常见问题 (FAQ)
问:并非所有自定义字段都能作为筛选条件吗? 答:是的,只有在安企CMS后台模型管理中,明确勾选了“是否筛选参数”(
is_filter)选项的自定义字段,才能通过archive/filters接口获取并用于archive/list接口进行内容筛选。未勾选的字段虽然可以用于内容展示,但不能作为筛选条件。问:如何在前端处理筛选条件中“全部”选项的逻辑? 答:
archive/filters接口返回的数据中,每个筛选条件列表通常会包含一个label: "全部"的选项。在实际应用中,当前端用户选择“全部”时,您只需在调用archive/list接口时,省略该筛选条件的参数即可,系统会自动返回不限制该条件的所有内容。例如,如果用户选择了“城市:全部”,那么在archive/list请求中就不需要包含city参数。问:如果我的自定义字段是多选类型,应该如何传递筛选参数? 答:对于多选类型的自定义字段,安企CMS通常支持通过逗号分隔多个选定值的方式作为