`archiveDetail` 标签如何获取特定文档的标题、内容、图片及自定义字段进行展示?

📅 👁️ 66

在AnQiCMS中,如何使用archiveDetail标签精细控制文档内容展示?

AnQiCMS作为一个高效、灵活的内容管理系统,其核心优势之一在于其强大的内容展示能力。对于网站上每一篇独立的文章、产品详情或其他任何“文档”类型的内容,我们都希望能够精细控制它们在前台页面的展示方式。这正是archiveDetail标签大展身手的地方。它不仅能帮助我们获取文档的基础信息,还能轻松调取其关联图片、自定义字段等多样化内容,为网站提供丰富的动态展示效果。

认识 archiveDetail 标签

archiveDetail标签专门用于获取特定文档的详细数据。在多数情况下,当您访问一个具体的文档详情页时,它会自动识别当前页面的文档ID并加载其所有信息。但如果您需要在非详情页或其他位置展示某个特定文档的内容,也可以通过指定参数来实现。

它的基本使用形式通常是这样的: {% archiveDetail 变量名称 with name="字段名称" id="1" %}

这里,变量名称是一个可选的占位符,如果您想将获取到的数据存储起来以便后续更复杂的处理,可以为其命名;如果不指定,标签会直接输出字段内容。name="字段名称"则是我们指定要获取哪个具体信息的关键,而id="1"(或者token="文档别名")则用于指定您想获取哪一篇文档的数据。通常,在文档详情页中,您可以省略idtoken,系统会自动获取当前文档的数据。

展示文档的核心信息

了解了基本语法后,我们就可以开始获取文档的各项核心内容了。

文档标题与描述

获取文档的标题和描述是最基础的需求。您可以使用Title来获取文档标题,以及Description来获取文档简介。

例如,要在页面中显示当前文档的标题: <h1>{% archiveDetail with name="Title" %}</h1>

显示文档描述则类似: <p>{% archiveDetail with name="Description" %}</p>

如果您想获取指定ID文档的标题,可以这样: <h2>特定文档标题:{% archiveDetail with name="Title" id="10" %}</h2>

文档内容:处理富文本与Markdown

文档内容是详情页的核心部分,通常包含了复杂的HTML结构或Markdown格式的文本。archiveDetail通过name="Content"来获取这部分数据。

由于内容可能包含HTML标签,为了确保浏览器能够正确解析并渲染这些内容,您需要配合使用|safe过滤器。如果您的文档内容使用了Markdown编辑器,并且希望在前端自动渲染成HTML,可以在Content字段后添加render=true参数。

示例: <div>{% archiveDetail docContent with name="Content" render=true %}{{ docContent|safe }}</div>

此外,如果您的网站启用了图片懒加载功能,可以通过lazy="data-src"这样的参数,让系统在输出HTML内容时自动替换图片src属性为指定名称(例如data-src),方便前端懒加载脚本识别。

时间信息:发布与更新

文档的发布时间和更新时间是用户了解内容时效性的重要指标。archiveDetail提供了CreatedTime(添加时间)和UpdatedTime(更新时间)字段。这些字段返回的是时间戳,我们可以通过format参数直接在标签内对其进行格式化,例如显示为“2023-10-26”。

示例: <p>发布日期:{% archiveDetail with name="CreatedTime" format="2006-01-02" %}</p> <p>更新时间:{% archiveDetail with name="UpdatedTime" format="2006-01-02 15:04" %}</p>

灵活展示文档图片

图片是内容不可或缺的一部分,AnQiCMS为文档提供了多种图片类型:

封面首图与缩略图

Logo字段通常代表文档的封面首图,而Thumb字段则指经过系统处理的缩略图。它们可以直接通过name参数获取图片URL。

示例: <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循环来遍历并展示每一张图片。

示例:

{% archiveDetail galleryImages with name="Images" %}
<div class="product-gallery">
  {% for imgUrl in galleryImages %}
    <img src="{{ imgUrl }}" alt="图片描述" />
  {% endfor %}
</div>

访问与展示自定义字段

AnQiCMS的一大亮点是其灵活的内容模型,允许用户为不同类型的文档自定义各种字段。archiveDetail标签同样支持对这些自定义字段的调用。

假设您为“产品”模型添加了一个名为Material(材质)的自定义字段,或者一个Author(作者)字段:

直接调用自定义字段

如果您知道自定义字段的调用字段名称(在后台内容模型设置中定义),可以直接通过name参数进行调用。

示例: <p>产品材质:{% archiveDetail with name="Material" %}</p> <p>文章作者:{% archiveDetail with name="Author" %}</p>

遍历所有自定义字段

在某些场景下,您可能希望动态地列出文档的所有附加参数(例如产品规格列表),而不需要预先知道每个字段的名称。这时,可以使用archiveParams标签来获取这些字段,然后通过循环来展示。archiveParams会返回一个包含字段名称(Name)和字段值(Value)的对象数组。

示例:

<div class="product-specs">
  <h3>产品参数</h3>
  {% archiveParams docParams %}
  {% for param in docParams %}
    <p><span>{{ param.Name }}:</span><span>{{ param.Value }}</span></p>
  {% endfor %}
  {% endarchiveParams %}
</div>

结合关联信息进行展示

在文档详情页,除了文档本身的信息,我们通常还需要展示其所属分类和关联标签。

显示所属分类信息

文档所属的分类信息可以通过archiveDetailCategory字段直接获取,它会返回一个分类对象,您可以从中提取分类的ID、标题、链接等。

示例:

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

展示文档标签

文档标签通常由tagList标签获取,并传入当前文档的ID作为参数,然后通过循环展示。

示例: “`twig

标签: {% tagList

相关文章

`archiveList` 标签如何精确筛选并展示特定分类、模型或推荐属性的文档列表?

在安企CMS中,`archiveList` 标签是构建动态内容列表的核心工具,它让你可以灵活地从网站的文档库中提取并展示你想要的内容。无论是展示特定分类下的最新文章,还是某个内容模型下的热门产品,抑或是带有特定推荐属性的专题文档,`archiveList` 都能通过其丰富的参数配置,帮助你精准地实现这些需求。 ### 精准定位内容:分类、模型与推荐属性 首先

2025-11-07

如何在 AnQiCMS 模板中利用 Django 风格的标签和变量动态展示数据?

AnQiCMS 提供了一套灵活且功能强大的模板系统,它采用了类似 Django 模板引擎的语法风格,这使得有经验的开发者能够快速上手,同时也非常直观,即便是不熟悉模板语言的用户也能通过简单的学习来动态呈现网站内容。这套系统以其简洁的标签和变量使用方式,让数据与前端页面的交互变得高效且易于管理。 要充分利用 AnQiCMS 模板来动态展示数据,我们需要理解其核心的语法结构:变量、标签和过滤器

2025-11-07

AnQiCMS 支持的自适应、代码适配、PC+手机端模板模式应如何选择和应用?

在构建和运营网站时,如何确保内容能够在各种设备上优雅且高效地呈现,是每个运营者都需要面对的挑战。AnQiCMS 作为一个功能丰富的企业级内容管理系统,充分考虑了这一点,提供了自适应、代码适配和PC+手机端独立站点这三种灵活的模板模式,让我们能够根据实际需求做出**选择。 接下来,我们将深入探讨这三种模式的特点、应用场景以及在 AnQiCMS 中如何配置和运用

2025-11-07

模板制作时,AnQiCMS 对模板文件命名和目录结构有哪些具体约定?

AnQiCMS 作为一个以其高效、灵活著称的内容管理系统,在模板制作方面也有一套清晰的约定,旨在帮助开发者和运营者构建结构清晰、易于维护的网站。理解这些约定,是高效利用 AnQiCMS 进行网站定制和内容展示的关键一步。 ### 模板文件的核心约定 AnQiCMS 的模板文件,统一采用 `.html` 作为后缀名。这一约定让文件类型一目了然,也有助于编辑器进行语法高亮和智能提示

2025-11-07

`categoryList` 标签如何实现多级分类的层级显示和嵌套调用?

在AnQiCMS中构建一个清晰、有条理的网站导航,特别是处理多级分类时,是提升用户体验和网站可访问性的关键。`categoryList` 标签正是为此而生,它提供了强大的功能,帮助我们灵活地展示分类的层级结构,并进行精细化的嵌套调用。 ### 理解 `categoryList` 标签的基础 `categoryList` 标签是AnQiCMS模板引擎中的一个核心组件

2025-11-07

如何在文章详情页使用 `prevArchive` 和 `nextArchive` 标签导航到相邻文档?

在内容驱动的今天,网站文章详情页的用户体验显得尤为重要。当读者沉浸于一篇精彩内容时,如果能顺畅地导航到相关或相邻的文章,不仅能延长他们在网站上的停留时间,提升页面浏览量,还能通过内部链接结构,间接优化搜索引擎的抓取和排名。安企CMS作为一款高效、SEO友好的内容管理系统,充分考虑到了这些细节,并提供了简单直观的模板标签,帮助我们轻松实现这一功能。 今天

2025-11-07

`tagDataList` 标签如何获取并分页展示特定 Tag 下的所有相关文档?

在安企CMS中管理内容时,标签(Tag)是组织和分类信息的重要工具。它不仅能帮助用户快速找到相关主题的内容,还能显著提升网站的内部链接结构和SEO表现。当需要展示某个特定标签下的所有相关文档,并进行分页管理时,`tagDataList` 标签便成为了不可或缺的核心功能。 本文将深入探讨如何高效地利用 `tagDataList` 标签来获取并分页展示特定标签下的文档

2025-11-07

`pagination` 标签如何正确配置才能在列表页生成功能完善的分页导航?

在网站内容管理中,为列表页面配置一个功能完善的分页导航,是提升用户体验和优化网站结构的关键一环。安企CMS(AnqiCMS)提供了简洁而强大的 `pagination` 标签,让开发者能够轻松实现这一需求。 要让 `pagination` 标签在列表页正确生成分页导航,首先要理解它的工作机制以及与内容列表标签(如 `archiveList`)之间的协同关系。`pagination`

2025-11-07