如何利用`archiveList`标签按指定条件(如最新、最热、推荐属性)展示文档列表?

AnQiCMS作为一个高效且灵活的内容管理系统,提供了丰富多样的内容展示方式,其中文档列表的呈现是网站运营中非常核心的一环。无论是网站首页、分类页面还是专题聚合页,我们都希望能根据不同的运营目标,动态地展示最新的文章、最受欢迎的内容,或是精心推荐的精品文档。这一切,都可以通过AnQiCMS强大的archiveList标签轻松实现。

archiveList标签是我们在AnQiCMS模板中获取和展示文档列表的核心工具。它允许我们通过一系列参数来精准控制要显示哪些文档、以何种顺序排列以及展示多少数量。接下来,就让我们一起探索如何巧妙运用这个标签,打造出符合各种需求的文档列表。

灵活调用:基础的文档列表展示

在使用archiveList标签时,通常会采用这样的结构:

{% archiveList archives with type="list" limit="10" %}
    {% for item in archives %}
    <li>
        <a href="{{item.Link}}">{{item.Title}}</a>
        {# 更多文档字段如 item.Description, item.CreatedTime, item.Views 等可以在这里展示 #}
    </li>
    {% empty %}
    <li>暂时没有找到相关内容。</li>
    {% endfor %}
{% endarchiveList %}

这里,archives是我们自定义的一个变量名,用于存储获取到的文档列表。type="list"表示我们希望获取一个简单的列表,而limit="10"则限定了只显示最新的10篇文档。当列表为空时,{% empty %}块中的内容会作为友好提示显示给用户。

展示最新文档:让信息始终保持新鲜

用户总是渴望获取最新的信息。在博客、新闻或行业资讯站点上,展示最新的文章是吸引用户、保持活跃度的重要策略。借助archiveList,我们只需要调整order参数,就能轻松实现“最新文档”列表。

要按发布时间倒序排列,也就是最新的文档排在前面,我们可以设置order="id desc"。这里的id通常代表文档的唯一标识符,其值越大,通常意味着文档发布时间越晚。

{# 显示最新的5篇文章 #}
{% archiveList latestArticles with order="id desc" limit="5" %}
    {% for item in latestArticles %}
    <div class="article-card">
        <h4><a href="{{item.Link}}">{{item.Title}}</a></h4>
        <p>发布时间:{{stampToDate(item.CreatedTime, "2006-01-02")}}</p>
    </div>
    {% endfor %}
{% endarchiveList %}

通过这段代码,网站会动态地拉取系统中最新发布的五篇文章,并按照时间顺序排列,确保访问者第一时间看到最新的内容。

呈现最热文档:洞察用户兴趣焦点

“最热文档”往往代表着当前用户最感兴趣、讨论最频繁的内容。它能帮助新用户快速了解网站的流行趋势,也能激发老用户的参与热情。在AnQiCMS中,文档的“浏览量”是衡量其热度的重要指标。因此,我们可以通过order="views desc"来获取最热文档。

{# 显示浏览量最高的8篇文档 #}
{% archiveList hottestArticles with order="views desc" limit="8" %}
    {% for item in hottestArticles %}
    <div class="popular-item">
        <a href="{{item.Link}}">{{item.Title}}</a>
        <span>({{item.Views}}次阅读)</span>
    </div>
    {% endfor %}
{% endarchiveList %}

这样,您的网站就能智能地展示那些浏览量最高、人气最旺的文章,让用户一目了然地看到大家都在关注什么。

精选推荐:利用推荐属性精准推广

除了最新和最热,我们经常还需要根据运营策略,手动标记一些“精品推荐”、“头条”、“幻灯”等文档,以突出其重要性。AnQiCMS在后台提供了灵活的“推荐属性”功能,让我们可以为文档设置不同的标记(如“头条[h]”、“推荐[c]”、“幻灯[f]”、“特荐[a]”、“滚动[s]”、“图片[p]”、“跳转[j]”等)。

archiveList标签中,我们可以通过flag参数来指定要筛选的推荐属性。请注意,archiveList标签在一次调用中只能筛选一个flag属性。

例如,如果您想在首页展示标记为“幻灯[f]”的文档,可以这样设置:

{# 显示标记为“幻灯”的3篇文档作为轮播图 #}
{% archiveList slideDocs with flag="f" limit="3" %}
    {% for item in slideDocs %}
    <div class="swiper-slide">
        <img src="{{item.Logo}}" alt="{{item.Title}}">
        <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
    </div>
    {% endfor %}
{% endarchiveList %}

如果您想在侧边栏展示标记为“推荐[c]”的文档:

{# 显示标记为“推荐”的6篇文档 #}
{% archiveList recommendedArticles with flag="c" limit="6" %}
    <ul class="sidebar-recommend">
    {% for item in recommendedArticles %}
        <li><a href="{{item.Link}}">{{item.Title}}</a></li>
    {% endfor %}
    </ul>
{% endarchiveList %}

通过这种方式,您可以根据后台为文档设置的特定属性,在网站的不同区域展示不同类型的精选内容,大大提升内容运营的灵活性。

进阶应用与注意事项

archiveList标签的强大远不止于此,它还支持更多参数组合,以满足更复杂的展示需求:

  • 指定分类:使用categoryId参数可以限定文档只来自特定的分类。例如,categoryId="1"将只显示ID为