在网站运营中,如何高效地组织和展示海量内容,并确保用户能迅速找到所需信息,是提升用户体验和内容价值的关键。安企CMS(AnQiCMS)提供了强大的内容管理功能,其中文章列表的灵活筛选机制,能够帮助我们轻松实现内容的精准呈现。本文将详细探讨如何在安企CMS中,通过分类、标签和推荐属性来筛选和显示文章列表。


精准呈现:安企CMS文章列表如何按分类、标签或推荐属性筛选显示?

内容管理系统的核心价值在于内容的组织和呈现。当我们积累了大量的文章、产品或其他内容时,如果不能有效地分类和筛选,用户就很难快速找到他们感兴趣的信息。安企CMS为此提供了直观而强大的模板标签,让我们可以根据分类、标签以及推荐属性等多种维度,灵活地展示内容列表。

核心利器:archiveList 文档列表标签

在安企CMS的模板体系中,archiveList 标签是展示文章列表的基石。它提供了丰富的参数,允许我们根据多种条件来查询和输出内容。无论是简单的列表展示,还是需要分页的复杂场景,archiveList 都能胜任。

在模板文件中,archiveList 标签通常会与 for 循环结合使用,遍历查询到的每一篇文章。例如:

{% archiveList archives with moduleId="1" type="page" limit="10" %}
    {% for item in archives %}
        <li><a href="{{item.Link}}">{{item.Title}}</a></li>
    {% empty %}
        <li>暂无内容</li>
    {% endfor %}
{% endarchiveList %}

上述代码展示了一个基础的文章列表,moduleId="1" 通常代表文章模型(具体ID需根据后台设置确认),type="page" 表示列表支持分页,limit="10" 则限定每页显示10篇文章。

接下来,我们将围绕核心的筛选需求,具体讲解如何运用 archiveList 标签及其辅助标签。

方法一:按分类筛选内容

分类是内容组织最基本的方式之一。在安企CMS中,我们可以为文章指定所属的分类,并在前台页面根据这些分类来展示内容。

要按分类筛选文章,archiveList 标签提供了 categoryId 参数。你可以直接指定一个或多个分类ID来获取其下的文章。

例如,如果我们想显示ID为1的分类下的所有文章,可以这样写:

{% archiveList archives with moduleId="1" categoryId="1" type="page" limit="10" %}
    {% for item in archives %}
        <li><a href="{{item.Link}}">{{item.Title}}</a></li>
    {% endfor %}
{% endarchiveList %}

如果需要显示多个分类(例如ID为1、2、3的分类)的文章,可以将分类ID用逗号隔开:categoryId="1,2,3"。 此外,child 参数(默认为true)可以控制是否包含子分类的文章。如果只想显示当前分类而不包含其子分类,可以设置 child=false

通常,为了让用户在前台方便地选择分类,我们还需要结合 categoryList 标签来展示所有可点击的分类导航:

{% categoryList categories with moduleId="1" parentId="0" %}
    {% for item in categories %}
        <a href="{{item.Link}}">{{item.Title}}</a>
    {% endfor %}
{% endcategoryList %}

用户点击分类链接后,安企CMS的伪静态规则会自动将分类ID或别名解析,并传递给页面模板,archiveList 标签则能自动识别当前页面的分类ID,无需手动设置 categoryId

方法二:按标签筛选内容

标签提供了一种更灵活的内容关联方式,它不拘泥于固定的层级结构,可以将不同分类、不同模型的文章通过共同的话题联系起来。

安企CMS提供了 tagDataList 标签专门用于获取指定标签下的文章列表。

例如,要显示ID为5的标签下的所有文章:

{% tagDataList archives with tagId="5" type="page" limit="10" %}
    {% for item in archives %}
        <li><a href="{{item.Link}}">{{item.Title}}</a></li>
    {% endfor %}
{% endtagDataList %}

要获取所有标签或当前文章的关联标签,可以使用 tagList 标签。这对于构建热门标签云或在文章详情页显示相关标签非常有用:

{% tagList tags with limit="10" %}
    {% for item in tags %}
        <a href="{{item.Link}}">{{item.Title}}</a>
    {% endfor %}
{% endtagList %}

与分类类似,当用户点击标签链接时,tagDataList 标签也能自动识别当前页面的标签ID。

方法三:按推荐属性筛选内容

推荐属性是一种特殊的筛选机制,它允许运营者给文章打上“推荐”、“头条”、“幻灯”等标记,以便在网站特定区域进行突出展示。安企CMS后台提供了多种推荐属性(例如:头条[h]、推荐[c]、幻灯[f]等)。

要按推荐属性筛选文章,只需在 archiveList 标签中使用 flag 参数。

例如,要显示所有被标记为“推荐”的文章:

{% archiveList archives with moduleId="1" flag="c" type="page" limit="10" %}
    {% for item in archives %}
        <li><a href="{{item.Link}}">{{item.Title}}</a></li>
    {% endfor %}
{% endarchiveList %}

你可以根据实际需求,选择不同的属性字母(如 flag="h" 代表头条,flag="f" 代表幻灯片)。同时,