AnQiCMS如何实现文章列表的分页显示功能?

📅 👁️ 71

文章列表的分页显示功能对于任何内容管理系统来说都至关重要,它不仅能提升用户浏览体验,避免单页内容过长导致加载缓慢,更能帮助搜索引擎更好地抓取和索引网站内容。在AnQiCMS中,实现这一功能既灵活又高效,得益于其简洁的模板标签设计。

接下来,我们将一起了解如何在AnQiCMS中轻松实现文章列表的分页显示。

AnQiCMS中分页功能的核心组件

在AnQiCMS的模板系统中,实现分页显示主要依赖于两个关键的模板标签:archiveListpagination。它们协同工作,archiveList 负责获取并准备好需要分页的文章数据,而 pagination 则根据这些数据生成并渲染出用户可点击的分页导航。

实现文章列表分页的具体步骤

第一步:使用 archiveList 标签获取分页数据

首先,您需要在显示文章列表的模板文件(通常是 article/list.html 或根据分类自定义的 article/list-ID.html 等)中,使用 archiveList 标签来获取文章数据。为了启用分页功能,您需要将 type 参数设置为 "page",并指定每页显示的文章数量,例如 limit="10" 表示每页显示10篇文章。

这个标签会智能地识别当前页面是否包含分类ID、模型ID或搜索关键词等信息,并根据这些信息筛选出相应的文章。例如,如果您在某个分类页面使用此标签,它会自动获取该分类下的文章;如果在搜索结果页面,它会根据搜索关键词进行筛选。

您可以这样使用 archiveList 标签:

{% archiveList articles with type="page" limit="10" moduleId="1" categoryId="0" %}
    {# 循环遍历当前页的文章数据 #}
    {% for item in articles %}
        {# 这里是每篇文章的显示结构,例如标题、简介、发布日期等 #}
        <div class="article-item">
            <h3><a href="{{ item.Link }}">{{ item.Title }}</a></h3>
            <p>{{ item.Description|truncatechars:150 }}</p> {# 截取前150字作为简介 #}
            <div class="meta-info">
                <span>发布日期:{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                <span>浏览量:{{ item.Views }}</span>
            </div>
            {% if item.Thumb %}
                <img src="{{ item.Thumb }}" alt="{{ item.Title }}" class="article-thumb">
            {% endif %}
        </div>
    {% empty %}
        {# 如果没有文章,显示此内容 #}
        <p>当前列表暂无文章。</p>
    {% endfor %}
{% endarchiveList %}

在上面的代码中,articles 是一个变量名,它包含了当前页的所有文章数据。moduleId="1" 通常用于指定文章模型(AnQiCMS默认文章模型ID为1),categoryId="0" 表示不限制父级分类,如果省略,则会自动匹配当前分类的文章。for item in articles 则会循环展示这些文章。{% empty %} 是一个非常实用的语法,当 articles 列表为空时,会自动显示 {% empty %}{% endfor %} 之间的内容。

第二步:使用 pagination 标签渲染分页导航

archiveList 标签之后,您可以使用 pagination 标签来生成和显示分页导航。这个标签会根据 archiveList 已经处理好的分页信息,自动创建出包括首页、上一页、下一页、尾页以及中间页码链接的分页结构。

pagination 标签提供了一个 show 参数,用于控制在分页导航中显示多少个数字页码链接,例如 show="5" 会显示当前页附近最多5个页码。

以下是 pagination 标签的详细使用示例:

”`twig

{% pagination pages with show="5" %}
    {# 首先,您可以显示一些总体信息,例如总文章数、总页数和当前页码 #}
    <p>共 {{ pages.TotalItems }} 篇文章,{{ pages.TotalPages }} 页,当前第 {{ pages.CurrentPage }} 页。</p>

    <div class="page-links">
        {# 首页链接,通过 pages.FirstPage 获取 #}
        <a class="page-link {% if pages.FirstPage.IsCurrent %}active{% endif %}" href="{{ pages.FirstPage.Link }}">首页</a>

        {# 上一页链接,仅当存在上一页时显示 #}
        {% if pages.PrevPage %}
            <a class="page-link" href="{{ pages.PrevPage.Link }}">上一页</a>
        {% endif %}

        {# 中间页码链接,这是通过 pages.Pages 数组循环生成的 #}
        {% for page in pages.Pages %}
            <a class="page-link {% if page.IsCurrent %}active{% endif %}" href="{{ page.Link }}">{{ page.Name }}</a>
        {% endfor %}

        {# 下一页链接,仅当存在下一页时显示 #}
        {% if pages.NextPage %}
            <a class="page-link" href="{{ pages.NextPage.Link }}">下一页</a>
        {% endif %}

        {# 尾页链接,通过 pages.LastPage 获取 #}
        <a class="page-link {% if pages.LastPage.IsCurrent %}active{% endif %}" href="{{ pages.LastPage.Link }}">尾页</a>

相关文章

如何在前端页面中显示文章或产品的浏览量?

让内容活力尽显:在安企CMS前端页面轻松展示文章或产品浏览量 在网站运营中,文章或产品的浏览量往往是衡量内容受欢迎程度的一个重要指标。它不仅能为访问者提供直观的参考,形成“社会认同”效应,引导他们发现热门内容,也能帮助运营者快速识别高价值内容。安企CMS作为一款高效的内容管理系统,充分考虑了用户的实际需求,让在前端页面展示文章或产品的浏览量变得非常简单直观。 接下来

2025-11-08

如何设置默认缩略图,以便在文章无图时自动显示?

在内容运营中,图片扮演着至关重要的角色。它们不仅能抓住访问者的眼球,提升阅读兴趣,还能有效传达信息,增强品牌形象。然而,在日常更新文章时,我们可能偶尔会忘记上传缩略图,或者有些内容本身就不适合配图。这时,文章列表或详情页上出现一片空白,就显得有些不专业和影响用户体验了。 好在安企CMS(AnQiCMS)考虑到了这一点,为我们提供了一个非常实用的功能:设置默认缩略图。有了它,即使文章没有配图

2025-11-08

AnQiCMS支持哪些缩略图处理方式,如何设置以优化显示效果?

在网站运营中,图片内容扮演着至关重要的角色,尤其精致的缩略图能够迅速吸引用户注意力,提升页面的视觉美感和点击率。安企CMS(AnQiCMS)在图片处理方面提供了灵活多样的功能,特别是针对缩略图的生成和优化,旨在帮助网站实现**的显示效果。 我们将深入探讨AnQiCMS支持哪些缩略图处理方式,以及如何通过合理的设置,让您的网站图片焕发活力。 ### AnQiCMS 缩略图处理的核心机制 首先

2025-11-08

如何在页面中动态显示文章或产品的“推荐属性”(如头条、推荐)?

在运营网站内容时,我们经常需要对某些文章或产品进行特别推荐,比如“头条”、“热门”或“推荐”等,以便在页面上更醒目地展示它们,引导用户关注。AnQiCMS 提供了一套非常灵活的“推荐属性”功能,让你可以轻松实现这一点。接下来,我们一起看看如何在AnQiCMS中设置这些属性,并把它们动态地显示在你的网站页面上。 ### 核心概念:理解“推荐属性”及其应用 AnQiCMS

2025-11-08

如何根据文章的创建时间或浏览量对列表进行排序显示?

在网站内容运营中,内容的呈现顺序对用户体验和信息传达效率至关重要。无论是新闻门户、技术博客还是产品展示网站,根据不同的运营目标,合理地调整内容列表的排序方式,能够显著提升网站的活力与吸引力。安企CMS(AnQiCMS)深谙此道,提供了直观且强大的功能,让我们能够轻松地根据文章的创建时间或浏览量对内容列表进行排序显示。 ###

2025-11-08

如何在文章详情页显示“上一篇”和“下一篇”文章链接?

在网站内容运营中,优化用户的阅读体验始终是我们的核心目标之一。当我们沉浸在一篇精彩的文章中时,自然而然会希望能够流畅地切换到相关或下一篇文章,无需回到列表页重新寻找。这种无缝的导航不仅能有效提升用户在网站上的停留时间,降低跳出率,更有助于搜索引擎更好地理解网站内容结构,从而对SEO产生积极影响。 安企CMS为此提供了一套非常直观且易于使用的解决方案

2025-11-08

如何在AnQiCMS中创建和显示多级导航菜单?

在网站运营中,清晰有效的导航菜单是用户体验的核心,它能帮助访问者快速找到所需信息。安企CMS(AnQiCMS)深知这一点,为您提供了灵活且强大的功能,让您可以轻松创建和管理多级导航菜单,无论是简单的两级下拉菜单,还是结合动态内容展示的复杂菜单,都能满足您的需求。 接下来,我们将一起了解如何在AnQiCMS中创建和显示多级导航菜单。 ### 一、后台管理

2025-11-08

如何在导航菜单中高亮显示当前访问的页面链接?

当用户访问您的网站时,一个清晰、直观的导航菜单能显著提升他们的浏览体验。其中一项重要的优化就是让导航菜单能够智能地高亮显示当前访问的页面链接,让访客一目了然地知道自己身处网站何处。安企CMS提供了简洁而强大的方式来实现这一功能,无需复杂的开发,只需在模板中进行巧妙配置。 ### 理解安企CMS的导航机制 安企CMS内置了灵活的模板标签系统,其中处理导航菜单的核心是“导航列表标签

2025-11-08