如何利用`archiveParams`标签获取并展示文档自定义参数字段的内容?

📅 👁️ 74

在日常的网站运营中,我们常常会遇到这样的需求:标准化的内容字段已无法满足多样化的信息展示。例如,一个产品详情页可能需要展示“型号”、“材质”、“保修期”等独有属性,而一篇普通文章则可能需要额外注明“文章来源”、“预计阅读时长”等。安企CMS深知这种灵活性对内容运营的重要性,因此提供了强大的自定义参数功能,并辅以 archiveParams 标签,让您能够轻松获取并展示这些文档专属的定制化信息。

本文将深入探讨如何利用 archiveParams 标签,将文档的自定义参数内容呈现在网站前端,让您的内容展示更加丰富和个性化。

配置自定义参数:为您的内容模型注入活力

在探讨如何展示这些参数之前,我们首先需要了解它们是如何被创建和添加的。安企CMS的自定义参数是与“内容模型”紧密关联的。每个内容模型都可以拥有自己独特的一组自定义字段,这些字段将作为该模型下所有文档的额外信息。

要开始设置,您需要进入安企CMS的后台管理界面,在左侧导航栏中找到“内容管理”模块,然后点击进入“内容模型”。系统默认提供了“文章模型”和“产品模型”,您也可以根据业务需求创建新的内容模型。

选中一个您希望添加自定义参数的模型,点击编辑按钮。在模型编辑页面,您会看到一个“内容模型自定义字段”区域。在这里,您可以添加新的字段:

  • 参数名:这是您在后台管理界面看到和理解的字段名称,比如“产品型号”、“文章作者”。
  • 调用字段:这是在模板中用于调用该参数的唯一标识符,通常建议使用英文字母。例如,如果参数名是“产品型号”,调用字段可以是 modelNumber。在模板中,您将通过这个字段名来获取其对应的值。
  • 字段类型:安企CMS支持多种字段类型,如单行文本、数字、多行文本、单项选择、多项选择、下拉选择等,您可以根据实际信息类型进行选择。
  • 是否必填:决定用户在发布文档时是否必须填写此字段。
  • 默认值:为字段设置一个预设值,如果用户未填写,则会使用该默认值。

完成自定义字段的添加和保存后,当您再去发布或编辑该内容模型下的文档时,在文档编辑页面的“其他参数”部分,您就会看到这些新增的自定义字段,并可以为每篇文档填写其专属内容了。

archiveParams 标签:在模板中精准展示自定义数据

现在,核心任务来了:如何将这些在后台精心配置并填写的自定义参数,呈现在您的网站页面上呢?答案就是使用安企CMS提供的 archiveParams 标签。

archiveParams 标签主要用于获取指定文档的所有自定义参数,您可以选择以固定顺序的数组形式遍历展示所有参数,也可以直接以键值对(Map)的形式获取特定参数的值。

1. 遍历所有自定义参数(推荐:固定排序的数组)

在文档详情页(或其他任何能获取到文档ID的页面),如果您想显示当前文档所有的自定义参数,可以使用 archiveParams 标签并让其返回一个数组。默认情况下,archiveParams 标签的 sorted 参数就是 true,意味着它会返回一个包含所有参数的有序列表。

每个列表项都是一个对象,包含 Name(参数名,即您在后台设置的中文名称)和 Value(参数值)。

{# 假设我们正在一个文档详情页,它会自动获取当前文档的自定义参数 #}
<div class="custom-parameters">
    <h3>详细参数</h3>
    {% archiveParams params %} {# params 是您为获取到的参数定义的变量名 #}
        {% for item in params %}
            <p><strong>{{ item.Name }}:</strong>{{ item.Value }}</p>
        {% endfor %}
    {% endarchiveParams %}
</div>

通过这段代码,您的网站将遍历并展示当前文档所有的自定义参数及其对应的值,例如“产品型号:XYZ-2023”、“材质:不锈钢”等,大大增强了内容的信息量。

2. 获取特定自定义参数(无序的键值对或直接通过 archiveDetail

有时候,您可能不需要遍历所有参数,而只是想获取并显示某个特定的自定义参数,例如只显示“产品型号”或“文章作者”。这时,您可以让 archiveParams 返回一个无序的键值对(Map),或者更简洁地使用 archiveDetail 标签。

方式一:使用 archiveParams 返回无序的键值对

通过设置 sorted=falsearchiveParams 标签会返回一个键值对对象,其中的键就是您在后台设置的“调用字段”,值则是包含 NameValue 的对象。

{# 假设要获取调用字段为 'modelNumber' 和 'author' 的自定义参数 #}
<div class="specific-parameters">
    {% archiveParams customFields with sorted=false %}
        <p>产品型号:{{ customFields.modelNumber.Value }}</p>
        <p>文章作者:{{ customFields.author.Value }}</p>
    {% endarchiveParams %}
</div>

这种方式适用于您需要获取多个但非全部自定义参数的情况,通过 customFields.调用字段.Value 的形式可以直接访问。

方式二:直接通过 archiveDetail 标签获取

对于只需要获取单个特定自定义参数的场景,安企CMS提供了更直接、更简洁的方法:利用 archiveDetail 标签。只要您知道该自定义参数的“调用字段”,就可以直接使用 archiveDetail 来获取其值,就像获取文档标题、内容等系统自带字段一样。

<div class="quick-access-parameters">
    <p>产品型号:{% archiveDetail with name="modelNumber" %}</p>
    <p>文章作者:{% archiveDetail with name="author" %}</p>
    {# 如果自定义字段是组图类型,例如调用字段为 'productImages' #}
    {% archiveDetail productImages with name="productImages" %}
        {% if productImages %}
            <div class="product-gallery">
                {% for imgUrl in productImages %}
                    <img src="{{ imgUrl }}" alt="产品图片">
                {% endfor %}
            </div>
        {% endif %}
    {% endarchiveDetail %}
</div>

这种方式非常适合您页面布局固定、只需要展示少数几个已知自定义参数的场景,代码更加精炼易读。

3. 获取指定文档的自定义参数

上述示例默认都获取当前文档的自定义参数。如果您需要在当前文档页获取*其他*文档的自定义参数,可以通过 id 参数来指定文档ID。

{# 获取ID为123的文档的所有自定义参数 #}
{% archiveParams otherDocParams with id="123" %}
    {% for item in otherDocParams %}
        <p><strong>{{ item.Name }}:</strong>{{ item.Value }}</p>
    {% endfor %}
{% endarchiveParams %}

{# 获取ID为456的文档的某个特定自定义参数 'material' #}
<p>其他文档的材质:{% archiveDetail with name="material" id="456" %}</p>

此外,对于使用多站点管理的用户,如果需要调用其他站点的数据,还可以在标签中添加 siteId 参数来指定站点ID。

灵活运用自定义参数,丰富您的网站内容

通过 archiveParamsarchiveDetail 标签,您可以将安企CMS的自定义参数功能发挥到极致。无论是为产品列表添加详细规格,为文章补充额外信息,还是为活动页面展示报名细节,这些自定义参数都能帮助您构建更具表现力、更贴合业务需求的内容。它们不仅让您的内容更具吸引力,也为SEO优化提供了更多结构化数据的可能性,让搜索引擎更好地理解和展示您的页面。

掌握了 archiveParams 标签,您就拥有了在安企CMS中实现高度内容定制化的关键工具。勇敢尝试,让您的网站内容更上一层楼吧!


常见问题解答 (FAQ)

Q1: 为什么我添加了自定义字段,但模板中显示不出来?

A1: 最常见的原因是模板中使用的“调用字段”与后台设置的不一致,或者您使用了 archiveParams 标签但未正确遍历其返回的结构。请检查以下几点:

  1. 调用字段拼写:确认模板中的 customFields.fieldName.Value{% archiveDetail with name="fieldName" %} 中的 fieldName 与您在后台内容模型中设置的“调用字段”完全一致,包括大小写。
  2. sorted 参数影响:如果您使用了 archiveParams 标签,sorted=true(默认)返回的是一个数组,需要用 {% for item in params %}{{ item.Name }}: {{ item.Value }}{% endfor %} 的方式遍历。而 sorted=false 返回的是键值对,可以直接用 {{ params.fieldName.Value }} 访问。请确保您使用了与返回类型匹配的访问方式。

相关文章

`tdk`标签在不同页面如何动态生成并显示SEO标题、关键词和描述?

在网站运营中,标题(Title)、关键词(Keywords)和描述(Description),简称TDK,是搜索引擎优化(SEO)不可或缺的核心要素。它们不仅直接影响网站在搜索引擎结果页(SERP)上的展示,也决定了用户是否点击进入您的网站。AnQiCMS 深刻理解TDK的重要性,并提供了一套强大且灵活的机制,帮助我们实现TDK标签在不同页面上的动态生成与显示,从而有效提升网站的SEO表现

2025-11-08

`system`标签和`contact`标签分别能获取并显示哪些全局网站信息和联系方式?

在AnQiCMS的日常运营中,网站的全局信息和联系方式是用户高度关注且频繁变动的内容。如何高效、统一地管理和展示这些信息,是衡量一个内容管理系统灵活性的重要标准。AnQiCMS通过其独特的模板标签体系,特别是`system`和`contact`这两个核心标签,为网站内容和联系方式的调用提供了极其便捷的解决方案。 ### `system`标签

2025-11-08

`bannerList`标签是如何获取并展示网站首页或特定分组的轮播图的?

在构建现代网站时,轮播图(Banner Carousel)是提升视觉吸引力和传递重要信息的常用元素。它们通常位于网站的显眼位置,如首页顶部,用于展示最新的活动、特色产品或重要公告。在安企CMS(AnQiCMS)中,管理和展示这些轮播图变得非常便捷,这主要得益于其强大的模板标签系统,特别是 `bannerList` 标签。 `bannerList`

2025-11-08

如何通过`breadcrumb`标签构建清晰的面包屑导航,提升用户在网站中的定位感?

在网站运营中,如何让访客在浏览浩瀚内容时始终保持清晰的定位感,不至于迷失方向,是一个至关重要的课题。想象一下,当用户深入网站的某个页面,却不清楚自己是从哪里来、处于哪个层级时,他们很容易产生困惑,甚至选择离开。这时,一个设计良好、功能完善的面包屑导航就能发挥其关键作用,它如同数字世界的“指路牌”,为用户提供了一条清晰的返回路径。 安企CMS(AnQiCMS)深谙内容管理和用户体验之道

2025-11-08

AnQiCMS如何自定义文章、产品和单页面的显示模板?

在AnQiCMS中,自定义文章、产品和单页面的显示模板是一项非常灵活且强大的功能,它让您可以根据网站的独特需求,为不同类型的内容创建专属的展示样式。通过精心设计的模板,不仅能提升用户体验,还能更好地突出内容重点,实现品牌风格的统一。 AnQiCMS采用了类似Django的模板引擎语法,这意味着如果您熟悉这种简洁直观的语法,就能很快上手。模板文件通常以`.html`为后缀,并统一存放在

2025-11-08

如何在AnQiCMS前端展示内容模型中定义的自定义字段?

AnQiCMS 的灵活内容模型是其核心优势之一,它让我们可以根据实际业务需求,为不同类型的内容定义独特的字段,从而摆脱传统 CMS 固定的内容结构限制。当我们创建好这些自定义字段后,接下来的关键一步就是在网站前端将它们优雅地展示出来。 这篇文章将详细为您介绍如何在 AnQiCMS 后台定义自定义字段,以及如何在前端模板中灵活地调用和展示这些信息,让您的网站内容更具个性化和实用性。 ### 一

2025-11-08

AnQiCMS如何实现多语言内容的切换和正确显示?

面对全球化的内容运营需求,让您的网站能够支持多语言内容的切换与正确显示,是拓展市场、提升用户体验的关键一步。安企CMS(AnQiCMS)作为一款功能丰富的内容管理系统,提供了直观且强大的多语言解决方案,帮助您轻松应对这一挑战。接下来,我们将详细探讨如何在AnQiCMS中实现这一目标。 ### AnQiCMS多语言支持的核心理念 AnQiCMS在设计之初就考虑到了多语言内容的需求

2025-11-08

如何在页面中动态显示文章或产品的“推荐属性”(如头条、推荐)?

在运营网站内容时,我们经常需要对某些文章或产品进行特别推荐,比如“头条”、“热门”或“推荐”等,以便在页面上更醒目地展示它们,引导用户关注。AnQiCMS 提供了一套非常灵活的“推荐属性”功能,让你可以轻松实现这一点。接下来,我们一起看看如何在AnQiCMS中设置这些属性,并把它们动态地显示在你的网站页面上。 ### 核心概念:理解“推荐属性”及其应用 AnQiCMS

2025-11-08