`tagDataList`标签如何显示特定标签下的所有相关文档列表,并支持分页?

📅 👁️ 68

在安企CMS的日常内容管理中,我们常常需要对网站内容进行更灵活的组织和展示。除了传统的分类系统,标签(Tag)为我们提供了另一种强大的内容关联方式。它能将不同分类但主题相近的文档聚合在一起,为用户带来更聚焦的浏览体验。今天,我们就来深入了解安企CMS中一个非常实用的模板标签——tagDataList,看看它如何帮助我们显示特定标签下的所有相关文档列表,并轻松实现分页。

tagDataList:标签文档列表的核心

想象一下,您的读者在浏览了某篇文章后,对文章中提到的某个特定主题(标签)产生了浓厚兴趣,希望能看到更多关于这个主题的内容。这时,一个设计完善的标签页就显得尤为重要。tagDataList标签正是为此而生,它能够精准地抓取与特定标签关联的所有文档,并将它们呈现在用户面前。

基本使用:快速获取标签文档

如果您正在开发一个标签详情页,tagDataList的默认用法非常简洁。系统会智能地识别当前页面的标签ID,并自动加载该标签下的文档:

{% tagDataList archives %}
    {# 循环遍历当前标签下的所有文档 #}
    {% for item in archives %}
    <li>
        <a href="{{item.Link}}">
            <h5>{{item.Title}}</h5>
            <p>{{item.Description}}</p>
        </a>
    </li>
    {% empty %}
    <li>
        哎呀,这个标签下暂时没有找到相关文档哦!
    </li>
    {% endfor %}
{% endtagDataList %}

在上面的代码中,archives是我们自定义的变量名,它将承载从tagDataList获取到的文档列表。在循环体内部,每个item都代表一篇文档,我们可以调用其TitleLinkDescription等常用字段来展示内容。

当然,如果您想在非标签页或者需要指定其他标签的文档列表,可以使用tagId参数明确指定标签ID:

{# 获取ID为5的标签下的文档列表 #}
{% tagDataList archives with tagId="5" %}
    {# ... 遍历文档内容 ... #}
{% endtagDataList %}

结合分页:实现标签文档列表的分页浏览

对于内容丰富的标签,一次性展示所有文档显然是不现实的,这时分页功能就变得不可或缺。安企CMS的tagDataList标签完美支持分页,让您的标签页既美观又实用。

要实现分页,tagDataList标签需要搭配type='page'参数来使用,告诉系统我们需要一个可分页的列表。同时,通过limit参数设定每页显示多少条文档。分页功能的另一半,则由pagination标签来完成,它负责生成页码导航。

下面是一个完整的示例,展示如何在标签页显示带有分页的文档列表:

{# tagDataList 标签,设置为分页模式,并指定每页10条文档 #}
{% tagDataList archives with type="page" limit="10" %}
    {# 循环遍历当前页的文档 #}
    {% for item in archives %}
    <div class="document-item">
        <a href="{{item.Link}}" class="document-link">
            <h5 class="document-title">{{item.Title}}</h5>
            <p class="document-description">{{item.Description}}</p>
            <div class="document-meta">
                <span>发布于:{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
                <span>阅读:{{item.Views}}次</span>
            </div>
        </a>
        {% if item.Thumb %}
        <div class="document-thumb">
            <a href="{{item.Link}}">
                <img alt="{{item.Title}}" src="{{item.Thumb}}">
            </a>
        </div>
        {% endif %}
    </div>
    {% empty %}
    <div class="empty-state">
        哎呀,这个标签下暂时没有找到相关文档哦!
    </div>
    {% endfor %}
{% endtagDataList %}

{# 分页导航标签,'pages'是tagDataList传递过来的分页对象 #}
<div class="pagination-area">
    {% pagination pages with show="5" %}
        {# 首页链接,如果当前页是首页,添加'current'类名 #}
        <a class="pagination-link {% if pages.FirstPage.IsCurrent %}current{% endif %}" href="{{pages.FirstPage.Link}}">首页</a>
        {# 上一页链接,只有存在上一页时才显示 #}
        {% if pages.PrevPage %}
        <a class="pagination-link" href="{{pages.PrevPage.Link}}">上一页</a>
        {% endif %}
        {# 中间页码链接,遍历pages.Pages数组生成每个页码链接 #}
        {% for item in pages.Pages %}
        <a class="pagination-link {% if item.IsCurrent %}current{% endif %}" href="{{item.Link}}">{{item.Name}}</a>
        {% endfor %}
        {# 下一页链接,只有存在下一页时才显示 #}
        {% if pages.NextPage %}
        <a class="pagination-link" href="{{pages.NextPage.Link}}">下一页</a>
        {% endif %}
        {# 尾页链接,如果当前页是尾页,添加'current'类名 #}
        <a class="pagination-link {% if pages.LastPage.IsCurrent %}current{% endif %}" href="{{pages.LastPage.Link}}">尾页</a>
    {% endpagination %}
</div>

在这个例子中,tagDataListtype设置为"page",并用limit="10"指定每页显示10条文档。而pagination标签则负责接收tagDataList传递的分页数据(我们在这里命名为pages),并根据show="5"参数生成一个包含5个页码的导航条,同时自动判断当前页并添加current类名,方便您进行样式

相关文章

如何通过`pageList`和`pageDetail`标签有效管理和显示网站的单页面内容?

在网站运营中,单页面内容扮演着不可或缺的角色,它们通常承载着“关于我们”、“联系我们”、“服务条款”、“隐私政策”等重要信息,既需要清晰展示,又要求管理便捷。AnQiCMS 提供了 `pageList` 和 `pageDetail` 这两个强大的模板标签,帮助我们高效地管理和显示这些单页面内容。 ### 管理单页面内容:后台操作指引 AnQiCMS

2025-11-08

`categoryDetail`标签如何获取并显示特定分类的名称、描述、Banner图和缩略图?

在AnQiCMS的模板制作中,我们经常需要获取并展示特定分类的详细信息,例如分类的名称、描述,甚至是预设的Banner图和缩略图。`categoryDetail`标签正是为此而生,它能帮助我们轻松地从数据库中提取这些数据,并在网站前端进行灵活展示。 ### 理解 `categoryDetail` 标签的核心作用 `categoryDetail`标签的主要功能是获取单个分类的详细数据

2025-11-08

如何使用`categoryList`标签构建多级分类导航或在内容区域展示分类列表?

在安企CMS中,妥善组织网站内容分类是提升用户体验和网站可维护性的重要一环。无论是构建清晰的多级导航菜单,帮助用户快速定位信息,还是在页面内容区域巧妙地展示不同分类的内容,`categoryList`标签都是实现这些功能的核心工具。 ### 核心标签:`categoryList` 简介 `categoryList`标签是安企CMS模板引擎中专门用于获取网站分类列表的标签。它非常灵活

2025-11-08

`prevArchive`和`nextArchive`标签如何在文档详情页显示上一篇/下一篇文档的链接和标题?

当我们在AnQiCMS搭建的网站上浏览内容时,一篇篇精心制作的文档为读者带来了价值。为了让读者的阅读体验更加流畅,并鼓励他们探索更多相关内容,在每篇文章的末尾提供“上一篇”和“下一篇”的导航链接显得尤为重要。这不仅能够有效引导用户在网站内进行深度浏览,提升页面访问量和用户粘性,对于网站的内部链接结构和SEO优化也大有裨益。 AnQiCMS作为一款注重用户体验和SEO友好的内容管理系统

2025-11-08

如何使用`navList`标签创建网站的主导航菜单,并支持两级下拉显示?

网站的主导航菜单是用户了解网站内容和结构的重要入口。安企CMS提供了强大且灵活的`navList`标签,帮助我们轻松创建和管理支持多级下拉的导航菜单,从而提升网站的用户体验和信息架构的清晰度。 ### 第一步:在安企CMS后台配置导航菜单 在开始编写模板代码之前,我们需要在安企CMS的后台管理系统中设置好导航菜单的结构。 1. **进入导航设置界面**:登录到安企CMS后台

2025-11-08

`breadcrumb`标签如何生成

在网站内容日益丰富的今天,用户常常需要在网站中穿梭于不同页面。为了帮助访客了解他们当前所处的位置,并提供便捷的返回路径,面包屑导航(Breadcrumb Navigation)应运而生。它就像地图上的路径指示,让用户一目了然地知道“我从哪里来,要到哪里去”。 AnQiCMS 深知面包屑导航对于用户体验和网站结构的重要性,因此在模板标签中内置了专门的 `breadcrumb` 标签

2025-11-08

安企CMS如何自定义内容模型以实现多样化的内容展示?

在构建网站内容时,我们常常发现各种信息类型都有其独特的展示需求。一篇新闻稿件可能需要标题、作者、发布日期和正文;一份产品介绍则可能涵盖名称、型号、价格、库存以及详细参数;而一个案例展示或许更侧重于项目名称、客户、解决方案和成果图片。传统的CMS系统,往往提供固定不变的内容发布模板,这在面对多样化的业务场景时,便显得捉襟见肘,难以灵活应对。 安企CMS正是为了解决这一痛点而生

2025-11-08

如何为不同类型的文章(如新闻、产品)设置独特的显示布局?

在网站运营中,内容不仅仅是信息本身,其呈现方式也同样关键。为不同类型的内容(如新闻、产品介绍)设置独特的显示布局,能极大地提升用户体验、强化品牌形象,甚至对搜索引擎优化(SEO)也有积极作用。安企CMS(AnQiCMS)在这方面提供了非常灵活和强大的功能,让你可以轻松为各类内容打造专属的视觉风格。 ### 内容模型:布局定制的基础 安企CMS首先通过“内容模型”的概念

2025-11-08