安企CMS在模板中如何使用`archiveDetail`标签来获取并显示单个文档的详细信息?

📅 👁️ 69

在安企CMS的强大功能支持下,我们能够灵活地构建各类网站内容。其中,显示单个文档的详细信息是网站内容展示的核心需求之一。安企CMS为此提供了专门的模板标签——archiveDetail,它能帮助我们在模板中轻松获取并呈现文档的所有相关数据。

使用archiveDetail标签,即使是对模板语言不甚熟悉的用户也能快速上手,将技术信息转化为网站上自然流畅的阅读体验。

理解archiveDetail标签的作用

archiveDetail标签的主要职责,就是从数据库中精确地抓取某一篇文档的所有细节数据。这些数据可以是文档的标题、内容、发布时间、分类信息,甚至是你为该文档自定义的额外字段。它通常用在文章详情页、产品详情页等需要展示单一内容完整信息的场景。

这个标签的基本使用方式非常直观,通常以这样的结构出现: {% archiveDetail 变量名称 with name="字段名称" id="1" %}

其中:

  • 变量名称是一个可选的参数。如果你设置了它,获取到的数据会被赋值给这个变量,方便你在后续的模板代码中进行更复杂的处理。如果不设置,标签会直接输出字段的值。
  • name="字段名称"用于指定你想获取的文档的具体哪个字段信息,比如"Title"获取标题,"Content"获取内容。
  • id="1"是用来指定你想获取哪一篇文档的数据。通常情况下,当你已经在文档详情页(比如网址是 /article/100.html)时,系统会自动识别当前文档的ID,你无须手动设置idtoken参数,archiveDetail会默认获取当前页面的文档信息,非常便捷。但如果你想在当前页面显示 另一篇 特定文档的信息,那么就可以通过idtoken来精确指定。
  • siteId参数则是在多站点管理场景下使用的,如果你有多个站点并需要调用其他站点的数据,可以指定siteId

如何利用archiveDetail显示文档的各项信息

让我们通过具体的例子,来看看如何运用archiveDetail来丰富你的文档详情页。

获取文档基本信息

文档的标题、链接、描述、ID和浏览量是核心元素。我们可以这样轻松获取它们:

<h1>{% archiveDetail with name="Title" %}</h1>
<p>文档ID:{% archiveDetail with name="Id" %}</p>
<p>访问量:{% archiveDetail with name="Views" %}</p>
<p>摘要:{% archiveDetail with name="Description" %}</p>
<a href="{% archiveDetail with name="Link" %}">查看原文</a>

在实际的文档详情页中,我们通常会省略id参数,因为archiveDetail默认会获取当前页面的文档数据,让代码更简洁。

展示文档内容主体

Content字段是文档的核心。由于它通常包含富文本格式(HTML),因此在使用时需要特别注意一个|safe过滤器。这个过滤器告诉模板引擎,这段内容是安全的,不需要进行HTML转义,从而确保页面能正确渲染出加粗、图片等富文本效果。如果你的内容是Markdown格式,还可以通过render=true参数让系统自动将其转换为HTML。

<div class="article-content">
    {%- archiveDetail articleContent with name="Content" render=true %}
    {{ articleContent|safe }}
</div>

如果你的图片需要懒加载,并且你的懒加载插件需要将src属性替换为data-src,你可以在Content字段的调用中加入lazy="data-src"

<div class="article-content">
    {%- archiveDetail articleContent with name="Content" lazy="data-src" render=true %}
    {{ articleContent|safe }}
</div>

处理文档中的图片

文档通常会有封面图、缩略图,甚至是一组图片。 LogoThumb分别用于获取文档的封面首图和缩略图:

<img src="{% archiveDetail with name="Logo" %}" alt="{% archiveDetail with name="Title" %}封面图" />
<img src="{% archiveDetail with name="Thumb" %}" alt="{% archiveDetail with name="Title" %}缩略图" />

如果文档包含多张图片(例如图集),Images字段会返回一个图片URL的数组。这时,你需要使用{% for %}循环来遍历并显示它们:

<div class="gallery">
    {% archiveDetail archiveImages with name="Images" %}
    {% for imgUrl in archiveImages %}
        <img src="{{ imgUrl }}" alt="文档图片 {{ forloop.Counter }}" />
    {% endfor %}
</div>

格式化时间与日期

CreatedTimeUpdatedTime字段返回的是时间戳。为了将其显示为我们熟悉的日期和时间格式,需要配合stampToDate过滤器使用:

<p>发布时间:{{ stampToDate(archive.CreatedTime, "2006年01月02日 15:04") }}</p>
<p>更新时间:{{ stampToDate(archive.UpdatedTime, "2006-01-02") }}</p>

这里的"2006-01-02 15:04"是Golang时间格式化的特殊写法,代表了年、月、日、时、分、秒。

关联分类与标签

文档的分类(Category)信息可以通过archiveDetail直接获取到一个对象,你可以通过.Title.Link访问其属性:

{% archiveDetail archiveCategory with name="Category" %}
<p>所属分类:<a href="{{ archiveCategory.Link }}">{{ archiveCategory.Title }}</a></p>

如果你需要更多关于分类的详细信息,例如分类的描述、Logo等,则可以配合categoryDetail标签来获取,并传入当前文档的CategoryId

文档的标签(Tag)则需要使用tagList标签来获取。它允许你指定文档ID来获取该文档关联的所有标签:

<div class="article-tags">
    {% tagList tags with itemId=archive.Id limit="10" %}
    {% for tag in tags %}
        <a href="{{ tag.Link }}">{{ tag.Title }}</a>
    {% endfor %}
    {% endtagList %}
</div>

显示自定义字段

安企CMS的强大之处在于其灵活的内容模型,允许你为文档添加任意自定义字段。如果你为文档模型定义了例如“作者”、“来源”、“产品型号”等字段,可以通过archiveDetail直接通过name参数来获取:

<p>作者:{% archiveDetail with name="author" %}</p>
<p>来源:{% archiveDetail with name="source" %}</p>

如果你想动态地遍历并显示所有自定义字段(例如用于产品参数列表),可以使用archiveParams标签:

”`twig

{% archiveParams

相关文章

如何配置内容设置,以自动处理远程图片下载、外链过滤和Webp图片格式转换,优化显示性能?

网站的内容呈现效率和用户体验,是其成功的关键要素之一。在日常运营中,图片加载速度、链接的规范性等细节,都直接影响着访客的去留和搜索引擎的友好度。安企CMS(AnQiCMS)深谙此道,在内容设置中提供了多项实用功能,帮助我们轻松应对这些挑战,实现网站显示性能的优化。 ### 自动处理远程图片下载:让内容更稳定、加载更快 在编辑网站内容时,我们有时会引用来自其他网站的图片。虽然这种方式操作便捷

2025-11-08

安企CMS的定时发布功能如何控制内容在指定时间后才对外显示?

在数字内容日益丰富的今天,高效、精准的内容发布策略对于任何网站运营者都至关重要。安企CMS(AnQiCMS)深知这一点,特别为您提供了强大的定时发布功能,让您能够精准控制每一篇内容在指定时间后才对外显示,从而实现更灵活、更具策略性的内容运营。 想象一下,您的团队精心策划了一系列营销活动,或者需要在一周内的特定时间点发布多篇博客文章以保持活跃度,又或者您希望在凌晨时分

2025-11-08

如何通过伪静态规则优化URL结构,以改善内容在搜索引擎中的显示效果?

在运营网站时,我们都希望自己的内容能够被更多的用户看到,而搜索引擎无疑是重要的流量来源。要在搜索引擎中获得好的表现,除了内容本身的质量,网站的URL(网址)结构也扮演着至关重要的角色。一个清晰、友好的URL,不仅能让用户更容易理解和记忆,也能帮助搜索引擎更好地抓取和理解我们的内容。而伪静态规则,正是优化URL结构的有效手段,安企CMS(AnQiCMS)在这方面提供了非常便捷的功能。 ###

2025-11-08

在多语言网站中,安企CMS如何确保不同语言内容的正确切换和显示?

在全球化日益深入的今天,网站内容能够触达不同语言的用户群体,已成为企业拓展市场、提升品牌影响力的关键。对于运营多语言网站的用户来说,最关心的问题之一莫过于:如何确保不同语言内容的正确切换和显示?安企CMS(AnQiCMS)在这方面提供了一套清晰且高效的解决方案,让我们一起来看看它具体是如何实现的。 ### 内容管理的核心:多站点与灵活内容模型 首先,安企CMS为多语言网站打下了坚实的基础

2025-11-08

如何使用`archiveList`标签在不同页面类型(如列表、分页、相关文档)中展示文档列表?

安企CMS以其高效和灵活的内容管理能力,为广大网站运营者提供了强大的支持。在众多实用功能中,`archiveList`标签扮演着核心角色,它是您在网站前端展示各种文档列表的利器。无论您是想在首页展示最新文章,在分类页呈现特定内容,还是在详情页推荐相关信息,`archiveList`都能以简洁的语法帮助您实现。 通过合理配置`archiveList`标签的参数,您可以轻松驾驭内容的呈现方式

2025-11-08

`categoryDetail`标签如何帮助我们获取并显示特定分类的详细信息?

安企CMS(AnQiCMS)为网站内容管理提供了强大且灵活的工具,其中`categoryDetail`标签在构建内容丰富、结构清晰的网站时扮演着非常重要的角色。它能帮助我们准确地获取并展示特定分类的详细信息,无论是用于分类列表页的头部介绍,还是在文章详情页中展示所属分类的更多内容,都非常便捷。 ### `categoryDetail` 标签的基本用途 简单来说

2025-11-08

如何使用`categoryList`标签构建多级分类导航,并控制其显示层级?

网站的导航系统如同地图,引导访客顺利抵达目的地。一个组织良好、层级分明的分类导航,不仅能显著提升用户的浏览体验,也能帮助搜索引擎更高效地理解和索引您的网站内容。在安企CMS中,`categoryList`标签正是构建这样一套高效、灵活的分类导航的利器。通过它,您可以轻松展示网站的分类结构,甚至精细控制每个分类的显示层级。 ### `categoryList`标签概览

2025-11-08

`pageDetail`和`pageList`标签在单页面内容显示和列表展示方面有何应用?

在使用安企CMS(AnQiCMS)搭建网站时,单页面内容和页面列表的展示是不可或缺的组成部分。无论是“关于我们”这样的独立内容页,还是网站底部导航中一系列的链接,它们都需要灵活且高效的方式来管理和呈现。在AnQiCMS中,`pageDetail`和`pageList`这两个标签正是为了满足这些需求而设计的强大工具。它们各自侧重于不同的应用场景,但又相互配合

2025-11-08