在安企CMS中,Tag(标签)功能是组织和关联内容,提升用户体验和网站SEO表现的重要工具。当您的网站内容日益丰富时,如何有效地展示指定Tag下的文档列表并提供清晰的分页导航,对于内容的易发现性和用户的持续浏览至关重要。
本文将为您详细讲解如何在AnqiCMS中,通过几个关键的模板标签,轻松实现这一功能。
一、 理解Tag标签及其在AnqiCMS中的作用
Tag标签,顾名思义,是对网站内容进行关键词或主题分类的一种方式。与传统分类(Category)不同的是,一篇文档可以同时拥有多个Tag,这使得内容之间的关联性更加灵活和丰富。例如,一篇关于“AnqiCMS模板制作”的文章,可以同时打上“AnqiCMS”、“模板制作”、“Go语言”等标签。
在AnqiCMS后台,您可以方便地在“内容管理”模块下的“文档标签”中进行管理。每个标签都可以设置独立的名称、描述和SEO信息,为网站带来更细致的流量入口。
二、 核心功能标签解析:实现Tag文档列表与分页
要在前端页面展示指定Tag下的文档列表并进行分页,我们需要用到以下几个AnqiCMS的核心模板标签:
tagDetail标签:获取当前Tag的详细信息- 作用: 用于获取当前页面所展示Tag的详细数据,例如标签名称、描述、链接等。
- 使用场景: 通常在
tag/list.html这类Tag列表页中使用,自动获取当前Tag的ID。 - 常用参数:
name:指定要获取的字段名称,如Title(标签标题)、Description(标签描述)、Link(标签链接)等。id或token:如果您想在非Tag列表页指定获取某个Tag的详情,可以使用其ID或URL别名。
- 范例:
{% tagDetail currentTag %} {# 将当前Tag的完整信息赋值给currentTag变量 #} <h1>标签:{{ currentTag.Title }}</h1> <p>描述:{{ currentTag.Description }}</p>
tagDataList标签:获取指定Tag下的文档列表- 作用: 这是显示Tag下文档的核心标签,它能根据指定的Tag,检索并列出所有关联的文档。
- 使用场景: 在Tag列表页面(如
tag/list.html)用来展示该Tag下的所有文档。 - 常用参数:
tagId:指定要获取文档列表的Tag ID。在tag/list.html页面,此参数通常可以省略,系统会自动读取当前Tag的ID。moduleId:如果您的Tag关联了不同内容模型(如文章、产品),可以通过此参数指定要获取哪个模型下的文档列表。type:重要! 当您需要分页功能时,务必设置为"page"。若只显示固定数量,则为"list"。limit:每页(或每次调用)显示多少条文档。order:排序规则,如"id desc"(按ID倒序)、"views desc"(按浏览量倒序)。
- 范例:
{% tagDataList archives with type="page" limit="10" %} {# 获取当前Tag下,每页10条的文档列表,并赋值给archives变量 #} {% for item in archives %} {# 文档内容展示 #} {% endfor %} {% endtagDataList %}
pagination标签:生成分页导航- 作用: 在
tagDataList(或其他列表标签,如archiveList)使用type="page"模式后,pagination标签能够自动根据当前页面的文档总数和每页显示数量,生成完整的分页导航链接。 - 使用场景: 紧跟在
tagDataList(或archiveList)标签之后,用于生成分页HTML。 - 常用参数:
show:控制分页导航中显示多少个页码链接(不包括首页、上一页、下一页等)。
- 范例:
{% pagination pages with show="5" %} {# ... 分页链接的HTML结构 ... #} {% endpagination %}
- 作用: 在
三、 实战:构建Tag标签下的文档列表页
根据AnqiCMS的模板约定,展示特定Tag标签下文档列表的模板文件通常位于您当前使用模板目录下的 tag/list.html。如果您还没有这个文件,请创建它。
以下是一个完整的tag/list.html模板代码示例,它将展示当前Tag的名称和描述,以及该Tag下的文档列表,并提供分页功能:
”`twig {# 继承基础模板,如 base.html #} {% extends ‘base.html’ %}
{# 设置页面TDK信息,AnqiCMS会自动填充Tag的TDK #} {% block title %}{% tdk with name=“Title” siteName=true %}{% endblock %} {% block keywords %}{% tdk with name=“Keywords” %}{% endblock %} {% block description %}{% tdk with name=“Description” %}{% endblock %}
{% block content %}