安企CMS (AnQiCMS) 提供了一系列强大的模板标签,帮助网站运营者高效地展示内容。其中,tagDetail 标签是用于获取并显示特定标签详细信息的关键工具。无论是构建精美的标签详情页,还是在其他页面引用标签的相关数据,tagDetail 都能提供灵活且直观的解决方案。
tagDetail 标签:获取标签详细信息的利器
在安企CMS中,标签(Tag)不仅仅是内容的分类,它们本身也可以拥有丰富的详细信息,例如标签名称、描述、专属图片甚至自定义内容。tagDetail 标签的作用,正是为了在网站前端精准地提取并展示这些存储在后台的标签数据。
想象一下,您希望为每个标签创建一个独立的页面,页面上不仅有标签名称,还有一段详细的介绍,甚至一张代表该标签的精美图片。或者,您想在文章详情页底部,展示与文章关联的某个标签的简要描述。这些场景,tagDetail 标签都能轻松应对。
tagDetail 标签的核心用法
tagDetail 标签的基本使用格式非常简洁:{% tagDetail with name="字段名称" %}。在这个结构中,name 参数是核心,它指定了您希望获取的具体标签信息。
此外,为了实现更精确的调用,tagDetail 标签还支持以下几个重要参数:
id:通过指定标签的唯一数字 ID 来获取其详细信息。例如,id="1"将获取 ID 为 1 的标签数据。token:如果您的标签配置了自定义 URL 别名(slug),您可以使用token参数通过该别名来获取标签信息。例如,token="seo-optimization"将获取别名为 “seo-optimization” 的标签数据。siteId:当您部署了多个站点时,可以通过此参数指定从哪个站点获取标签数据。一般情况下,如果只管理单个站点,此参数无需填写。
值得注意的是,如果当前页面上下文本身就是一个标签详情页(例如,您正在访问 yourdomain.com/tag/seo-optimization),并且您在 tagDetail 标签中未明确指定 id 或 token,那么它会自动获取当前页面的标签信息。
可获取的详细信息字段解析
通过 name 参数,您可以访问标签的多种属性,从而在前端灵活展示:
- 标签 ID (
Id):获取标签的唯一标识符。<div>标签ID:{% tagDetail with name="Id" %}</div> {# 或者赋值给变量: #} {% tagDetail currentTagId with name="Id" %}{{ currentTagId }} - 标签标题 (
Title):获取标签的显示名称,这是最常用的字段。<h1>{% tagDetail with name="Title" %}</h1> - 标签链接 (
Link):获取标签详情页的 URL 地址,方便创建跳转链接。<a href="{% tagDetail with name="Link" %}">前往标签页</a> - 标签描述 (
Description):获取标签的简要介绍或详细说明,通常用于标签详情页的概述。<p>{% tagDetail with name="Description" %}</p> - 标签索引字母 (
FirstLetter):获取标签名称的首字母,常用于按字母排序的标签索引列表。<span>标签首字母:{% tagDetail with name="FirstLetter" %}</span> - 标签内容 (
Content):如果标签在后台设置了详细内容(支持Markdown),可以通过此字段获取。内容支持Markdown渲染,并且为了安全显示HTML,通常需要配合safe过滤器。
请注意<div> {% tagDetail tagContent with name="Content" render=true %} {{ tagContent|safe }} </div>render=true可以强制对Markdown内容进行转换。 - 标签 Logo (
Logo):获取为标签配置的专属 Logo 图片地址,方便在页面上展示。<img src="{% tagDetail with name="Logo" %}" alt="{% tagDetail with name="Title" %} Logo">
实际应用示例:构建标签详情页头部
假设您正在设计一个标签详情页面 (tag/detail.html 或 tag/index.html),希望展示标签的基本信息:
”`twig
{# 显示标签标题 #}
<h1>{% tagDetail with name="Title" %}</h1>
{# 显示标签Logo,如果存在 #}
{% tagDetail tagLogo with name="Logo" %}
{% if tagLogo %}
<img src="{{ tagLogo }}" alt="{% tagDetail with name="Title" %} Logo" class="tag-logo">
{% endif %}
{# 显示标签描述,如果存在 #}
{% tagDetail tagDescription with name="Description" %}
{% if tagDescription %}
<p class="tag-description">{{ tagDescription }}</p>
{% endif %}
{# 提示更多相关文章的链接 #}
<p>
探索更多关于 "{{% tagDetail with name="Title" %}}" 的内容:
<a href="{% tagDetail with name="Link" %}">查看所有相关文章</a>
</p>
{# 如果标签内容中有详细的介绍,可以在这里展开 #}
{% tagDetail tagContent with name="Content" render=true %}
{% if tagContent %}
<div class="tag-full-content">
<h2>标签详细介绍</h2>
{{ tagContent|safe }}
</div>
{% endif %}