如何使用`archiveList`标签按浏览量或发布时间排序显示文章列表?

📅 👁️ 78

在网站运营中,如何高效地展示和组织内容,往往直接关系到用户体验和内容的传播效果。AnQiCMS 提供了一系列强大且灵活的模板标签,让内容管理者可以轻松地控制文章的展示方式。今天,我们就来聊聊如何使用 archiveList 标签,根据文章的浏览量或发布时间来排序显示文章列表。

理解 archiveList 标签

archiveList 标签是 AnQiCMS 中用于获取和展示文章列表的核心工具。它能够根据多种条件筛选文章,并以您期望的方式进行排序。无论是构建首页的最新动态,还是分类页的热门文章推荐,archiveList 都能提供强大的支持。

在使用 archiveList 时,您通常会看到这样的结构:

{% archiveList 变量名称 with 参数="值" %}
    {% for item in 变量名称 %}
        {# 这里是每篇文章的显示内容 #}
    {% endfor %}
{% endarchiveList %}

其中,变量名称 是您自定义的列表变量名,参数="值" 则是控制列表行为的关键所在。而本文的重点,就落在 order 这个参数上。

按发布时间排序:展示最新文章

在许多网站中,访客都希望看到最新发布的内容,尤其是在新闻、博客或技术分享类网站上。AnQiCMS 提供了简洁的方式来实现这一点。

要按文章的发布时间倒序(即最新发布在前)排序,您可以在 archiveList 标签中使用 order="id desc"。在 AnQiCMS 的设计中,文章的 ID 是自增长的,通常情况下,ID 越大意味着文章发布的时间越晚。

例如,如果您想在首页展示最新的 5 篇文章:

{# 假设这是您的网站首页,显示最新的5篇文章 #}
<div class="latest-articles">
    <h3>最新发布</h3>
    <ul>
        {% archiveList latestArticles with type="list" limit="5" order="id desc" %}
            {% for article in latestArticles %}
                <li>
                    <a href="{{ article.Link }}">{{ article.Title }}</a>
                    <span class="publish-date">发布于: {{ stampToDate(article.CreatedTime, "2006-01-02") }}</span>
                </li>
            {% empty %}
                <li>暂无最新文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</div>

如果您的列表需要分页,例如在文章分类页面,每页显示 10 篇文章,并按发布时间排序:

{# 假设这是文章分类页,每页显示10篇最新文章 #}
<div class="category-list">
    <h3>分类最新文章</h3>
    <ul>
        {% archiveList latestPaginated with type="page" limit="10" order="id desc" %}
            {% for article in latestPaginated %}
                <li>
                    <h4><a href="{{ article.Link }}">{{ article.Title }}</a></h4>
                    <p>{{ article.Description|truncatechars:100 }}</p>
                    <span class="publish-info">发布于: {{ stampToDate(article.CreatedTime, "2006-01-02 15:04") }}</span>
                </li>
            {% empty %}
                <li>该分类下暂无文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>

    {# 分页标签需要配合 type="page" 使用 #}
    <div class="pagination-controls">
        {% pagination pages with show="5" %}
            {# 这里是分页的渲染代码,例如首页、上一页、页码列表、下一页、尾页 #}
            {% if pages.FirstPage %}<a class="page-item {% if pages.FirstPage.IsCurrent %}active{% endif %}" href="{{pages.FirstPage.Link}}">首页</a>{% endif %}
            {% if pages.PrevPage %}<a class="page-item" href="{{pages.PrevPage.Link}}">上一页</a>{% endif %}
            {% for item in pages.Pages %}<a class="page-item {% if item.IsCurrent %}active{% endif %}" href="{{item.Link}}">{{item.Name}}</a>{% endfor %}
            {% if pages.NextPage %}<a class="page-item" href="{{pages.NextPage.Link}}">下一页</a>{% endif %}
            {% if pages.LastPage %}<a class="page-item {% if pages.LastPage.IsCurrent %}active{% endif %}" href="{{pages.LastPage.Link}}">尾页</a>{% endif %}
        {% endpagination %}
    </div>
</div>

这里,type="page" 告诉 archiveList 这是一个分页列表,需要配合 pagination 标签来生成页码和导航。

按浏览量排序:展示热门文章

除了最新内容,热门文章也是吸引访客的重要元素。通过展示浏览量最高的文章,您可以帮助新访客快速了解网站的精华内容。

要按文章的浏览量倒序(即浏览量最高在前)排序,您可以在 archiveList 标签中使用 order="views desc"

同样以首页展示 5 篇热门文章为例:

{# 假设这是您的网站首页,显示最热门的5篇文章 #}
<div class="popular-articles">
    <h3>热门文章</h3>
    <ul>
        {% archiveList popularArticles with type="list" limit="5" order="views desc" %}
            {% for article in popularArticles %}
                <li>
                    <a href="{{ article.Link }}">{{ article.Title }}</a>
                    <span class="view-count">浏览量: {{ article.Views }}</span>
                </li>
            {% empty %}
                <li>暂无热门文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</div>

如果您的热门文章列表也需要分页:

”`twig {# 假设这是热门文章分类页,每页显示10篇热门文章 #}

<h3>分类热门文章</h3>
<ul>
    {% archiveList popularPaginated with type="page" limit="10" order="views desc" %}
        {% for article in popularPaginated %}
            <li>
                <h4><a href="{{ article.Link }}">{{ article.Title }}</a></h4>
                <p>{{ article.Description|truncatechars:100 }}</p>
                <span class="view-info">浏览量: {{ article.Views }}</span>
            </li>
        {% empty %}
            <li>该分类下暂无热门文章。</li>
        {% endfor %}
    {% endarchiveList %}
</ul>

{# 分页标签 #}
<div class="pagination-controls">
    {% pagination pages with show="5" %}
        {# 分页渲染代码与上述相同

相关文章

如何在模板中引入外部的静态资源文件(CSS、JS、图片)?

在使用安企CMS(AnQiCMS)构建网站时,为页面引入样式(CSS)、交互脚本(JS)和图片等静态资源,是网站美观和功能实现的基础。了解如何在模板中正确地引入这些文件,能让您的网站不仅外观专业,功能丰富,还能保持高效稳定的运行。安企CMS凭借其简洁高效的架构和灵活的模板引擎,让管理和引入这些资源变得非常直观。 AnQiCMS的模板系统,尤其是在处理静态资源方面,设计得非常贴心

2025-11-09

如何在页脚显示备案号,并生成指向备案官网的链接?

在网站运营中,尤其是针对中国大陆用户,正确显示网站的ICP备案号是合规性的重要一环。备案号通常位于网站页脚,并会链接到工业和信息化部政务服务平台(beian.miit.gov.cn),方便用户查询验证。安企CMS为用户提供了便捷的方式来配置和展示这一信息。 接下来,我们将分步骤介绍如何在您的安企CMS网站页脚显示备案号,并生成指向备案官网的链接。 ### 第一步

2025-11-09

如何在前端展示自定义的网站LOGO和版权信息?

网站的LOGO和版权信息,如同企业的名片,是品牌识别和专业性的重要体现。它们不仅能增强用户对网站的信任感,也是品牌形象和法律权益的直观展示。在AnQiCMS中,展示这些核心品牌元素,流程简洁明了,让您可以轻松地为您的网站定制专属形象。 ### 后台设置:品牌形象的源头 要在您的AnQiCMS网站前端展示自定义的LOGO和版权信息,首先需要将这些内容录入到系统后台

2025-11-09

如何批量重新生成缩略图,以适应新的前端显示尺寸要求?

网站前端界面焕然一新,您可能发现旧有的图片缩略图在新布局下显得格格不入,不是尺寸不对,就是显示效果不佳。不用担心,安企CMS(AnQiCMS)为您提供了一套便捷高效的解决方案,帮助您批量重新生成缩略图,轻松适应全新的前端显示尺寸要求。 ### 为什么需要重新生成缩略图? 网站的视觉呈现对用户体验至关重要。随着设计趋势的变化、响应式布局的普及或是高分辨率屏幕的广泛应用

2025-11-09

如何实现基于用户组权限,显示或隐藏部分内容(如VIP专属内容)?

在网站运营中,根据用户身份提供差异化的内容服务,是提升用户体验、实现内容变现的常见策略。安企CMS(AnQiCMS)凭借其灵活的用户组管理和VIP系统,能够帮助我们轻松实现基于用户权限的内容显示或隐藏。 本文将深入探讨如何利用安企CMS的这一功能,为您的网站打造专属的VIP内容或根据用户等级展示不同信息。 ## 巧妙运用安企CMS用户组权限,打造内容差异化体验 想象一下

2025-11-09

如何在模板中判断变量是否存在,并根据结果动态显示内容?

在 AnQiCMS 中构建一个充满活力的网站,内容管理不仅仅是发布信息,更关乎如何智能地呈现这些信息。想象一下,如果您的网站能够根据数据的实际情况,灵活地调整展示方式,比如有图片就显示图片,没有就显示一段替代文字;有相关文章就推荐,没有就友好地提示“暂无相关内容”,这将大大提升用户体验,让网站看起来更专业、更流畅。 而实现这种智能动态展示的关键,就在于如何在模板中判断一个变量是否存在

2025-11-09

如何在表格或列表循环中,控制元素的奇偶行显示不同样式?

在网站设计与内容展示中,为了提升用户阅读体验,让信息呈现更为清晰,我们常常需要对表格或列表中的奇数行和偶数行施加不同的样式。这种视觉上的区分不仅能打破内容的单调感,更能显著提高数据的可读性。在AnQiCMS中,借助其灵活强大的模板引擎,实现这一效果是相当直接且便捷的。 ### 核心理念:`for`循环与行计数器 AnQiCMS的模板系统采用了类似Django模板引擎的语法

2025-11-09

如何格式化时间戳,以友好的日期时间格式显示内容发布日期?

在网站运营中,内容发布日期不仅仅是一个时间标记,它更是访客获取信息时效性的重要依据。一个清晰、易读的日期格式,能显著提升用户体验,让您的网站内容显得更加专业和贴心。 然而,在安企CMS(AnQiCMS)这样功能强大的内容管理系统中,发布日期在数据库中通常以“时间戳”(timestamp)的形式存储,这通常是一串难以直接理解的数字。例如,您可能会看到 `1609470335` 这样的数字

2025-11-09