如何获取当前文章的自定义字段(如作者、来源、额外参数)并展示?

📅 👁️ 78

在安企CMS中管理和展示文章的自定义字段,如作者、来源或额外的参数,是内容运营中常见且实用的需求。安企CMS凭借其灵活的内容模型设计,提供了多种途径来实现这一目标,帮助您轻松地丰富文章信息,并以个性化的方式呈现给读者。

理解安企CMS的自定义字段

首先,我们需要了解文章的自定义字段是如何在安企CMS中工作的。在安企CMS中,文章、产品等内容都归属于特定的“内容模型”。当您在后台创建或编辑内容模型时,可以为该模型添加一系列自定义字段。这些字段可以包括单行文本(如作者、来源)、多行文本、数字、单选、多选或下拉选择等多种类型。

在定义自定义字段时,您需要设置一个“参数名”(用于后台显示)和一个“调用字段”(用于模板中调用,通常是英文小写字母)。正是这个“调用字段”,成为了我们在模板中获取和展示自定义字段的关键。

获取当前文章的自定义字段并展示

对于当前正在浏览的文章,获取其自定义字段是最直接的需求。安企CMS提供了archiveDetailarchiveParams两个模板标签来满足这一目的。

方法一:直接通过字段名获取特定自定义字段

如果您明确知道要展示哪个自定义字段(例如,您已经为文章模型定义了名为authorsource的自定义字段),那么可以直接使用archiveDetail标签,并通过name属性指定自定义字段的“调用字段”。

{# 假设您在后台内容模型中定义了调用字段为“author”和“source”的自定义字段 #}
<div>
    <span>作者:</span>{% archiveDetail with name="author" %}
</div>
<div>
    <span>文章来源:</span>{% archiveDetail with name="source" %}
</div>

在这个例子中,{% archiveDetail with name="author" %}会直接输出当前文章中author自定义字段的值。如果该字段可能包含HTML内容(例如富文本编辑器输入的来源信息),您可能需要添加|safe过滤器来确保HTML被正确解析而不是转义:

<div>
    <span>文章内容简介(假设是多行文本自定义字段):</span>{% archiveDetail with name="introduction" %}{{introduction|safe}}
</div>

方法二:循环遍历所有自定义字段

如果您希望展示文章的所有自定义参数,或者您不确定文章具体有哪些自定义字段,那么archiveParams标签会是您的好帮手。它能获取当前文章关联的所有自定义字段,并让您通过循环的方式逐一展示。

{# 获取当前文章的所有自定义参数,并以列表形式展示 #}
<div>
    <h5>更多文章参数:</h5>
    {% archiveParams params with sorted=true %}
        {% for item in params %}
            <div>
                <span>{{item.Name}}:</span> {# item.Name 是自定义字段的“参数名”(后台显示名称) #}
                <span>{{item.Value}}</span> {# item.Value 是自定义字段的实际值 #}
            </div>
        {% endfor %}
    {% endarchiveParams %}
</div>

在这里,archiveParams params会将当前文章的所有自定义字段存储在params变量中。with sorted=true参数确保params是一个有序的数组,方便我们使用for循环遍历。循环中的item.Name会显示您在后台设置的自定义字段名称(如“作者”),而item.Value则会显示该字段所填写的内容。

在文章列表中展示自定义字段

自定义字段的强大之处不仅限于单篇文章详情页,在文章列表(例如相关文章、分类列表)中,我们同样可以轻松获取并展示它们。当您使用archiveList标签来循环展示文章列表时,每个文章项通常会作为item变量存在。此时,您可以通过访问item.自定义字段的调用字段来获取并展示其自定义字段。

{# 假设在一个文章列表循环中,需要显示每篇文章的作者和缩略图 #}
{% archiveList archives with type="list" categoryId="1" limit="5" %}
    {% for item in archives %}
        <div class="article-item">
            <a href="{{item.Link}}">
                <img src="{{item.Thumb}}" alt="{{item.Title}}" />
                <h3>{{item.Title}}</h3>
            </a>
            <p>作者:{{item.Author}}</p> {# 直接访问item.Author,假设Author是自定义字段的调用字段 #}
            <p>发布时间:{{stampToDate(item.CreatedTime, "2006-01-02")}}</p>
        </div>
    {% endfor %}
{% endarchiveList %}

在上述代码中,我们直接通过{{item.Author}}获取并展示了每篇文章的作者信息。前提是您已在文章对应的内容模型中定义了调用字段为Author的自定义字段。

总结

安企CMS通过其灵活的内容模型和直观的模板标签,让自定义字段的获取和展示变得非常简单。无论是直接引用特定字段、遍历所有字段,还是在文章列表中展示,您都可以根据具体需求选择最合适的方法,从而创建更丰富、更具个性化的内容页面。


常见问题 (FAQ)

  1. 我定义的自定义字段内容包含HTML代码,如何在前端正确显示? 如果您的自定义字段内容(例如,一个富文本编辑器输入的长文本)可能包含HTML标签,并且您希望这些HTML标签在前端被浏览器解析而不是作为纯文本显示,您需要在模板中输出该字段时,添加|safe过滤器。例如:{{item.MyCustomHtmlField|safe}}

  2. 如何在后台定义文章的自定义字段? 要定义文章的自定义字段,您需要登录安企CMS后台,导航到“内容管理”菜单下的“内容模型”模块。找到您要添加字段的文章内容模型(例如“文章模型”),点击编辑。在模型编辑页面中,您可以点击“添加字段”按钮,为该模型定义新的自定义字段,包括设置参数名、调用字段、字段类型等。

  3. 我能否获取到不是当前页面文章的自定义字段? 可以的。archiveDetailarchiveParams标签都支持通过id参数指定文章ID。例如,如果您想获取ID为10的文章的作者,可以使用:{% archiveDetail with name="author" id="10" %}。同样,archiveParams也可以通过id参数获取指定文章的所有自定义字段。

相关文章

如何在文章详情页获取并显示文章的标题、内容、缩略图等核心信息?

在运营网站时,文章详情页是用户了解内容核心价值的关键入口。一个设计良好、信息全面的文章详情页,不仅能提升用户体验,还能有效帮助搜索引擎理解页面内容,从而优化网站的SEO表现。安企CMS(AnQiCMS)提供了强大而灵活的模板标签系统,让您能够轻松获取并呈现文章的所有核心信息。 要获取并显示文章的标题、内容、缩略图等核心信息,我们主要依赖安企CMS的`archiveDetail`模板标签

2025-11-08

如何按照文章的浏览量、发布时间或后台自定义排序来展示文章列表?

在网站运营中,文章列表的展示方式直接影响用户体验和内容触达效率。一个组织良好、能突出重点的文章列表,可以显著提升用户留存和信息获取效率。AnQiCMS作为一个灵活的内容管理系统,提供了强大的文章列表展示功能,不仅能灵活筛选内容,还能根据您的内容策略,自由调整文章的排序方式,让您的网站内容更具吸引力。 ### 核心功能

2025-11-08

如何根据文章的推荐属性(如“头条”、“推荐”)来筛选并展示文章列表?

在安企CMS中,高效的内容管理是网站成功的关键之一。文章推荐属性,作为内容精细化运营的重要一环,能够帮助我们更灵活地展示网站内容,引导用户关注重点信息,从而提升网站的活跃度和转化率。本文将深入探讨如何根据文章的推荐属性(如“头条”、“推荐”)来筛选并展示文章列表,让您的网站内容更具吸引力。 ### 理解安企CMS的文章推荐属性 安企CMS为每一篇发布的文章提供了丰富的推荐属性设置

2025-11-08

如何仅显示某个分类下的文章,而不包含其子分类的文章?

在网站内容管理中,我们经常会遇到这样的需求:希望在某个页面上展示特定分类下的文章,但又不想包含该分类下的子分类文章,以保持内容的纯粹性和聚焦性。例如,您可能有一个“公司新闻”分类,其中包含“企业动态”、“行业资讯”等子分类,但在首页只想展示纯粹的“公司新闻”,而不希望将所有子分类内容混杂进来。 安企CMS作为一款功能强大且灵活的内容管理系统,提供了简洁高效的方式来满足这类精细化的内容展示需求

2025-11-08

如何在文章详情页动态获取并展示当前文章的上一篇和下一篇文章?

在网站运营中,如何让用户在浏览完一篇文章后,能够顺畅地跳转到相关或下一篇内容,是提升用户体验和网站粘性的关键。尤其是对于拥有大量内容的站点,如博客、资讯站或产品展示网站,一个直观的“上一篇/下一篇”导航功能显得尤为重要。它不仅能引导用户深入浏览,降低跳出率,还能为搜索引擎提供更多的内部链接,优化网站的SEO表现。 安企CMS(AnQiCMS)作为一个功能强大的内容管理系统,充分考虑到了这一需求

2025-11-08

AnQiCMS如何定义和展示相关文章?是基于关键词还是手动关联?

在网站运营中,相关文章的推荐是提升用户体验、延长用户停留时间并优化站内SEO的重要策略。AnQiCMS 提供了一套灵活且高效的机制来定义和展示相关文章,让运营者可以根据实际需求选择智能推荐或手动关联的方式。 ### 智能推荐:基于关键词和标签的动态关联 AnQiCMS 的智能推荐机制主要依赖于文章内容中设置的关键词和标签。当您在后台编辑文章时,可以为每篇文章设置: * **文档关键词

2025-11-08

如何在模板中获取并循环输出特定Tag(标签)下的所有文档列表?

在安企CMS中,内容组织不仅可以通过传统的分类方式实现,灵活的“标签”(Tag)机制更是为内容关联和用户检索提供了广阔的空间。当您希望在网站的某个区域,例如侧边栏、相关推荐模块,甚至是一个专门的Tag聚合页面,展示特定标签下的所有文档时,安企CMS提供了强大而直观的模板标签,让这个过程变得轻而易举。 本文将深入探讨如何在安企CMS的模板中

2025-11-08

如何获取并显示某个指定分类的详细信息,包括其描述、Banner图和Logo?

在内容管理系统中,分类不仅是内容的组织形式,更是网站结构与用户导航的核心。灵活地获取并展示特定分类的详细信息,如其描述、独特的Banner图和Logo,对于创建富有吸引力、信息丰富的页面至关重要。安企CMS(AnQiCMS)为此提供了直观且功能强大的模板标签,让您可以轻松实现这一需求。 ### 核心功能标签

2025-11-08