文档详情标签`archiveDetail`如何获取并显示单篇文档的完整内容?

📅 👁️ 71

在安企CMS中,展示单篇文档的完整内容是网站运营的基础。无论您是发布一篇新闻文章、一个产品详情,还是一项服务介绍,核心都在于如何高效且准确地将后台录入的数据呈现在用户面前。这正是archiveDetail标签及其相关机制发挥作用的地方。

理解archiveDetail:获取单篇文档的核心

当我们谈论获取单篇文档的完整内容时,首先要明确一点:当您访问一个文档的详情页面(例如你的域名/article/123.html),安企CMS已经非常智能地将当前文档的所有数据加载到一个名为archive的全局变量中。这意味着,在文档详情页的模板里,您通常可以直接通过 {{archive.字段名}} 的形式来快速、简洁地调用文档的各项信息,例如 {{archive.Title}} 会显示文档标题,{{archive.Content}} 则会展示文档正文。

然而,archiveDetail标签提供了更灵活的控制方式。它允许您不仅获取当前页面的文档详情,还能够根据需要,明确指定通过文档ID(id)或URL别名(token)来获取任意一篇文档的内容。这种灵活性在某些需要引用或对比其他文档内容的场景下尤为实用。其基本用法是 {% archiveDetail 变量名称 with name="字段名称" id="文档ID" %},或者,如果您只是想直接输出某个字段而不定义变量,也可以省略变量名称

关键字段与实用调用

要充分利用archiveDetail标签,了解其支持的各项字段至关重要。

首先是基础文本信息。比如,要显示文档的标题,可以使用{{archive.Title}}{% archiveDetail with name="Title" %}。同样,文档的链接 (Link)、描述 (Description)、关键词 (Keywords) 以及浏览量 (Views) 等都可以通过类似的方式轻松获取。例如,在页面上显示当前文档的浏览量:

<p>浏览量:{{archive.Views}} 次</p>

接下来是图片资源。文档的封面图(Logo)、缩略图(Thumb)都是常见的展示元素。如果文档配置了多张封面图片(Images),它会返回一个数组,这时候就需要通过for循环来遍历并显示:

<img src="{{archive.Logo}}" alt="{{archive.Title}}" />

{% if archive.Images %}
<div class="gallery">
    {% for imgUrl in archive.Images %}
    <img src="{{imgUrl}}" alt="图片描述" />
    {% endfor %}
</div>
{% endif %}

文档的核心内容字段Content是展示文章或产品详情的关键。需要特别注意的是,由于内容通常包含富文本编辑器生成的HTML代码,为了让浏览器正确解析并显示样式,务必配合|safe过滤器使用,以防止HTML被转义而显示为纯文本。此外,如果您的内容是Markdown格式,您还可以通过render=true参数让系统自动将其渲染为HTML。

<div class="article-content">
    {{archive.Content|safe}}
    {# 如果内容是Markdown格式,且想强制渲染: #}
    {# {{archive.Content|render=true|safe}} #}
    {# 如果内容是Markdown格式,但想获取原始Markdown文本: #}
    {# {{archive.Content|render=false|safe}} #}
</div>

文档的发布和更新时间(CreatedTimeUpdatedTime)是Unix时间戳格式,为了便于阅读,您需要使用stampToDate函数进行格式化。例如,将发布时间格式化为“年-月-日”:

<span>发布时间:{{stampToDate(archive.CreatedTime, "2006-01-02")}}</span>

安企CMS的灵活之处还在于其内容模型自定义字段。如果您在后台为某个内容模型添加了自定义字段,比如“作者”(author)或“产品型号”(modelNumber),您可以直接通过{{archive.author}}{{archive.modelNumber}}来调用它们。如果需要遍历所有自定义字段,archiveParams标签将是您的好帮手,它能将所有自定义字段以数组形式返回,方便循环展示:

{# 直接调用自定义字段 #}
<p>作者:{{archive.author}}</p>

{# 遍历所有自定义字段 #}
{% archiveParams params %}
<ul class="custom-fields">
    {% for item in params %}
    <li><strong>{{item.Name}}:</strong>{{item.Value}}</li>
    {% endfor %}
</ul>
{% endarchiveParams %}

当您的网站是多站点架构时,siteId参数则允许您跨站点调用文档数据,这为多品牌或多语言网站的内容整合提供了便利。

实际应用场景示例

场景一:标准文章详情页 在博客或新闻网站中,一个典型的文章详情页可能包含标题、分类链接、发布时间、标签、浏览量和正文。以下是一个简洁的模板片段,展示如何组合这些信息:

<article class="article-detail">
    <h1 class="article-title">{{archive.Title}}</h1>
    <div class="article-meta">
        <a href="{{archive.Category.Link}}" class="category-link">{{archive.Category.Title}}</a>
        <span class="publish-time">发布于:{{stampToDate(archive.CreatedTime, "2006-01-02")}}</span>
        <span class="views">阅读量:{{archive.Views}} 次</span>
        <div class="tags">
            {% tagList tags with itemId=archive.Id limit="5" %}
            {% for tag in tags %}
            <a href="{{tag.Link}}">{{tag.Title}}</a>
            {% endfor %}
            {% endtagList %}
        </div>
    </div>
    <div class="article-content">
        {{archive.Content|safe}}
    </div>
</article>

场景二:产品详情页 对于电商或产品展示网站,产品详情页可能更侧重于产品图片、名称、详细参数和说明。这里结合了自定义字段和图片展示:

”`twig

<div class="product-images">
    <img src="{{archive.Logo}}" alt="{{archive.Title}}" class="main-product-image" />
    {% if archive.Images %}
    <div class="thumbnail-gallery">
        {% for img in archive.Images %}

相关文章

文档列表标签`archiveList`如何按条件筛选和分页显示文章或产品?

在安企CMS中,当我们希望在网站页面上展示一系列文章、产品或其他内容时,`archiveList` 标签是我们不可或缺的强大工具。它不仅能帮助我们灵活地提取和展示各类内容,还能根据多种条件进行精细筛选,并优雅地实现内容的分页显示,从而极大提升用户浏览体验和网站的信息组织效率。 ### 灵活获取内容:`archiveList` 的基础用法 `archiveList`

2025-11-07

单页面列表标签`pageList`和单页面详情标签`pageDetail`如何管理和显示静态页面内容?

在网站运营中,静态页面扮演着不可或缺的角色,它们通常承载着如“关于我们”、“联系方式”、“隐私政策”、“服务介绍”等相对固定且不常更新的核心内容。安企CMS为这些页面的管理与展示提供了两大利器:单页面列表标签`pageList`和单页面详情标签`pageDetail`。这两者协同工作,让您能够轻松驾驭网站的静态内容,无论是构建导航、展示服务列表,还是呈现详细的企业介绍,都能得心应手。 ###

2025-11-07

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

在安企CMS的网站内容运营中,我们经常需要精确地获取并展示特定分类的详细信息。无论是展示分类的名称、描述,还是其关联的图片、内容,`categoryDetail`标签都能提供灵活且强大的支持,帮助我们构建动态丰富的分类页面。 ### `categoryDetail`标签的核心功能与基本用法 `categoryDetail`标签旨在获取单个分类的详尽数据。它的基本结构简洁明了

2025-11-07

分类列表标签`categoryList`如何获取并显示文章、产品分类信息?

在AnQiCMS中管理和展示网站内容,分类信息扮演着至关重要的角色。无论是组织产品目录,还是整理文章专题,清晰的分类结构都能极大提升用户体验和网站的导航效率。而`categoryList`标签正是AnQiCMS提供的一把利器,帮助我们灵活地获取并展示这些分类信息。 `categoryList`标签的主要作用是**检索并循环显示您网站中的分类数据**。它能根据您的需求

2025-11-07

上一篇/下一篇文档标签`prevArchive`/`nextArchive`如何实现内容之间的导航显示?

在网站运营中,为读者提供流畅的阅读体验是提升用户满意度和网站价值的关键。当用户浏览完一篇精彩的文章或产品介绍后,如果能顺手看到“上一篇”或“下一篇”的相关内容,无疑会大大增加他们在网站上的停留时间,形成更自然的浏览路径,这对于SEO优化和内容传播都非常有益。安企CMS作为一款功能强大的内容管理系统,深知这一需求

2025-11-07

文档参数标签`archiveParams`和筛选标签`archiveFilters`如何实现内容的自定义属性显示与筛选?

在安企CMS中,内容的自定义属性显示与筛选是实现灵活、个性化网站功能的核心。借助模板标签中的`archiveParams`和`archiveFilters`,我们可以轻松地在前端展示自定义内容字段,并为用户提供基于这些字段进行内容筛选的强大功能,从而极大提升网站的用户体验和内容的可发现性。 ### `archiveParams` 标签:自定义属性的灵活展示 在安企CMS中

2025-11-07

文档Tag列表标签`tagList`、详情标签`tagDetail`、文档列表标签`tagDataList`如何实现内容的标签化显示?

在网站运营中,高效的内容管理和灵活的内容展示是提升用户体验和搜索引擎表现的关键。安企CMS(AnQiCMS)深谙此道,提供了强大的标签功能,帮助我们轻松实现内容的标签化管理和显示。通过巧妙运用`tagList`、`tagDetail`和`tagDataList`这三个核心标签,我们可以为网站内容插上翅膀,让信息组织更科学,用户查找更便捷,同时也为SEO优化打下坚实基础。 ### 核心

2025-11-07

评论列表标签`commentList`如何获取并显示用户对内容的评论?

在当今的数字世界中,网站不仅仅是信息的展示平台,更是用户交流互动的空间。当用户能够对内容发表看法、提出疑问时,网站的活力便会大大增强。安企CMS深知这一点,因此它提供了强大而灵活的评论管理功能,其中“评论列表标签`commentList`”正是连接内容与用户反馈的关键桥梁。 想象一下,您发布了一篇引人入胜的文章或一个创新产品,用户读完后迫不及待地想分享他们的想法。作为网站运营者

2025-11-07