在安企CMS中,archiveList 标签是用于动态调用和展示文档列表的核心工具。无论是博客文章、产品展示还是新闻动态,这个标签都能帮助您根据特定的需求,灵活地控制文档的显示数量、排序方式以及各种筛选条件。深入理解其各项参数,将使您能够构建出高度定制化且功能强大的内容展示页面。

精确控制文档显示数量:limit 参数的运用

文档列表的数量控制主要通过 limit 参数实现。它决定了每次调用时将显示多少条文档数据。

  • 基本数量限制:如果您希望页面只显示固定数量的文档,例如最新发布的5篇文章,可以直接设置 limit="5"
    
    {% archiveList archives with limit="5" %}
        {# 遍历并显示文档 #}
    {% endarchiveList %}
    
  • 起始位置与数量限制(偏移模式):当您需要从文档列表的特定位置开始获取数据时,可以使用偏移模式。例如,要从第3条文档开始,获取10条文档,可以设置 limit="2,10"(请注意,索引是从0开始计算的,所以“从第3条开始”意味着偏移量为2)。
  • 与分页结合limit 参数与 type="page" 结合使用时,会为分页功能做好准备。在这种模式下,limit 定义了每页显示的文档数量,而实际的分页导航则需要配合 pagination 标签来生成。
    
    {% archiveList archives with type="page" limit="10" %}
        {# 遍历并显示当前页的文档 #}
    {% endarchiveList %}
    {% pagination pages with show="5" %}
        {# 显示分页导航 #}
    {% endpagination %}
    

灵活设置文档排序:order 参数的妙用

order 参数让您能够指定文档列表的排序规则,以满足不同的内容展示逻辑。

  • 按ID排序order="id desc" 会按照文档的ID降序排列,通常用于展示最新的文档(ID越大通常越新)。如果想按升序排列,则为 order="id asc"
  • 按浏览量排序order="views desc" 会根据文档的浏览量降序排列,常用于展示热门或高关注度的文档。
  • 按后台自定义排序:安企CMS后台允许您手动调整文档的排序。此时,使用 order="sort desc"order="sort asc" 可以按照您在后台设定的自定义顺序来显示文档。如果您不指定 order 参数,默认情况下也会根据后台自定义排序(sort desc)进行。

例如,显示最新发布的5篇热门文章:

{% archiveList hotArticles with limit="5" order="views desc" %}
    {# 遍历并显示热门文档 #}
{% endarchiveList %}

精准筛选文档列表:多维度条件设定

archiveList 标签提供了丰富的筛选条件,帮助您精确锁定所需文档。

  • 按内容模型筛选(moduleId: 安企CMS支持自定义内容模型,例如“文章模型”、“产品模型”等。通过 moduleId 参数,您可以指定只获取某个特定内容模型下的文档。例如,moduleId="1" 获取文章模型文档,moduleId="2" 获取产品模型文档。

    {% archiveList products with moduleId="2" limit="10" %}
        {# 显示产品列表 #}
    {% endarchiveList %}
    
  • 按分类筛选(categoryId, excludeCategoryId, child: 这是最常用的筛选方式之一。

    • categoryId="1":只显示ID为1的分类下的文档。可以传入多个分类ID,如 categoryId="1,2,3"
    • excludeCategoryId="4":排除ID为4的分类下的文档。同样支持多个ID。
    • child="true"(默认值):当指定 categoryId 时,同时包含其所有子分类下的文档。
    • child="false":当指定 categoryId 时,只显示该分类本身的文档,不包含子分类。
    • 如果您希望 archiveList 不自动读取当前页面的分类ID,可以明确设置 categoryId="0"
    {# 显示分类ID为1及其子分类下的最新10篇文章 #}
    {% archiveList articles with categoryId="1" child="true" order="id desc" limit="10" %}
        {# ... #}
    {% endarchiveList %}
    {# 只显示分类ID为5的文档,不含子分类 #}
    {% archiveList docs with categoryId="5" child="false" limit="5" %}
        {# ... #}
    {% endarchiveList %}
    
  • 按推荐属性筛选(flag, excludeFlag, showFlag: 在后台编辑文档时,您可以为文档设置“头条[h]”、“推荐[c]”、“幻灯[f]”等推荐属性。

    • flag="c":只显示带有“推荐”属性的文档。可以组合使用,如 flag="h,c"
    • excludeFlag="s":排除带有“滚动”属性的文档。
    • showFlag="true":在文档列表中显示文档的推荐属性,方便您在模板中根据属性做不同展示。
    {# 显示所有带有“幻灯”属性的文档 #}
    {% archiveList slides with flag="f" limit="3" %}
        {# ... #}
    {% endarchiveList %}
    
  • 按搜索关键词筛选(q: 当 type="page" 模式下,q 参数可以用于指定搜索关键词。值得注意的是,如果URL中已包含 q=关键词 的查询参数,archiveList 会自动读取并应用此关键词进行搜索。

    {# 在搜索结果页,显示标题包含“SEO”关键词的文档 #}
    {% archiveList searchResults with type="page" q="SEO" limit="10" %}
        {# ... #}
    {% endarchiveList %}
    
  • 按特定用户筛选(userId: 如果您需要展示某个特定作者或用户发布的文档,可以使用 userId 参数。例如,userId="1"