在安企CMS中管理和展示内容,文章详情页无疑是用户获取信息的核心阵地。除了文章标题、正文这些基本要素,很多时候我们还需要在详情页中展示一些个性化的信息,比如文章的作者、内容来源、产品规格、发布地点等。这些信息在安企CMS中被称为“自定义参数”,它们能够极大丰富内容的维度,并满足不同业务场景的个性化需求。
安企CMS提供了非常灵活的方式来定义和显示这些自定义参数,让网站运营者可以根据实际需要,轻松定制文章详情页的内容展示。下面,我们就来一起看看如何操作,才能让这些自定义参数在文章详情页中优雅地呈现出来。
第一步:在后台定义您的自定义参数
在安企CMS中,自定义参数是通过“内容模型”来定义的。内容模型就像是内容的骨架,它决定了一类内容(比如“文章”或“产品”)可以拥有哪些字段。
- 进入内容模型管理:首先,登录您的安企CMS后台管理界面,导航到“内容管理”菜单,找到“内容模型”选项并点击进入。
- 选择或新建模型:通常情况下,您可能已经在使用系统自带的“文章模型”或“产品模型”。您可以选择编辑现有模型,也可以根据需求新建一个模型。
- 添加自定义字段:在所选模型下,您会看到“内容模型自定义字段”区域。在这里,点击添加字段,为您的自定义参数命名。
- 参数名:这是参数在后台管理界面和前端模板中用于显示的可读名称,例如“文章作者”、“内容来源”。
- 调用字段:这是参数在数据库中存储的字段名,也是在模板中引用的唯一标识。为了保持规范和易于辨识,建议使用简洁的英文字母,例如“author”代表作者,“source”代表来源。
- 字段类型:根据您想存储的数据类型选择,安企CMS提供了单行文本、数字、多行文本、单项选择、多项选择、下拉选择等多种类型,甚至可以是图片组等。
- 其他设置:根据需要配置是否必填、默认值等。
完成自定义字段的添加后,记得保存内容模型的设置。
第二步:在发布或编辑文章时填写自定义参数
当您定义好内容模型中的自定义参数后,在发布或编辑属于该模型的文章时,这些自定义字段就会出现在文章编辑页面。
- 发布/编辑文章:前往“内容管理” -> “文档管理”,选择“发布文档”或编辑一篇现有文章。
- 选择所属分类:确保您选择的“所属分类”是关联到您在第一步中配置了自定义参数的内容模型的。
- 填写参数值:在文章编辑界面的“其他参数”部分,您会看到刚刚定义的自定义字段。在这里,为每个参数填写相应的值。例如,在“文章作者”字段中输入作者姓名,在“内容来源”字段中输入来源网站。
保存文章后,这些自定义参数的值就成功存储起来了。
第三步:在文章详情页模板中显示自定义参数
现在,关键一步来了:如何在您的网站前端文章详情页模板中,获取并显示这些自定义参数呢?安企CMS提供了强大且灵活的模板标签,可以轻松实现这一目标。文章详情页的模板文件通常位于 /template/您的模板目录/archive/detail.html,或者您在后台为文章自定义的模板文件中。
我们将介绍两种常用的获取和显示自定义参数的方法,您可以根据实际需求选择最合适的一种:
方法一:直接通过字段名获取(适用于已知且数量不多的特定参数)
如果您只需要显示少数几个已知名称的自定义参数,例如“作者”和“来源”,并且您已经知道它们在内容模型中定义的“调用字段”名称(如 author 和 source),那么直接通过字段名获取是最简洁的方式。
您可以使用 archiveDetail 标签,并指定 name 参数为自定义参数的“调用字段”名称。
代码示例:
{# 假设自定义参数的调用字段为 author 和 source #}
<div class="article-meta">
{% set articleAuthor = "" %}
{% set articleSource = "" %}
{# 获取作者 #}
{% archiveDetail authorName with name="author" %}
{% set articleAuthor = authorName %}
{% endarchiveDetail %}
{# 获取来源 #}
{% archiveDetail contentSource with name="source" %}
{% set articleSource = contentSource %}
{% endarchiveDetail %}
{% if articleAuthor %}
<span>作者:{{ articleAuthor }}</span>
{% endif %}
{% if articleSource %}
<span>来源:{{ articleSource }}</span>
{% endif %}
</div>
解释:
{% archiveDetail authorName with name="author" %}:这行代码会尝试从当前文章的自定义参数中,查找调用字段名为author的值,并将其赋给名为authorName的变量。- 通过
{% set ... %}进一步赋值给articleAuthor和articleSource变量是为了更方便地进行条件判断 ({% if ... %}),避免在参数不存在时直接输出空内容。 <span>作者:{{ articleAuthor }}</span>:如果获取到了作者信息,就会显示出来。
这种方法简单直接,代码清晰,非常适合那些在文章详情页固定位置显示特定自定义参数的场景。
方法二:循环遍历所有自定义参数(适用于参数数量动态、需要统一展示的场景)
如果您的自定义参数数量较多,或者您希望将所有自定义参数以列表的形式统一展示,又或者您不确定每个参数的“调用字段”名称,那么使用 archiveParams 标签配合 for 循环遍历所有参数会更加灵活。
archiveParams 标签会获取当前文章的所有自定义参数,并将其组织成一个数组对象供您循环遍历。
代码示例:
<div class="article-custom-params">
<h4>文章附加信息:</h4>
<ul>
{% archiveParams params %}
{% for item in params %}
<li>
<strong>{{ item.Name }}:</strong> <!-- 显示“参数名” -->
<span>{{ item.Value | safe }}</span> <!-- 显示“参数值”,注意safe过滤器 -->
</li>
{% endfor %}
{% endarchiveParams %}
</ul>
</div>
解释:
{% archiveParams params %}:这个标签会获取当前文章的所有自定义参数,并将结果存储在params变量中。{% for item in params %}:我们通过循环遍历params数组。在每一次循环中,item变量代表一个自定义参数对象。{{ item.Name }}:会显示您在后台设置的“参数名”(例如“文章作者”)。{{ item.Value }}:会显示该自定义参数具体填写的值(例如“张三”)。| safe:这个过滤器非常重要!如果您的自定义参数值可能包含 HTML 内容(比如您在后台的“多行文本”字段中输入了加粗、链接等格式),使用| safe可以确保这些 HTML 内容被浏览器正确解析,而不是作为纯文本显示。
这种方法的好处是,无论您在后台添加了多少自定义参数,模板代码都不需要修改。它会自动适应并显示所有已填写的参数。您还可以根据 item.Name 或 item.Value 进行条件判断,实现更复杂的显示逻辑。
灵活运用,提升内容价值
通过以上步骤,您就可以在安企CMS的文章详情页中,根据实际需求灵活地获取并显示文章的自定义参数了。无论是简单的作者信息,还是复杂的产品规格列表,安企CMS的灵活内容模型和强大的模板标签都能助您一臂之力。合理利用这些功能,不仅能让您的网站内容更加丰富和个性化,也能极大提升用户体验和内容营销的效果。
常见问题 (FAQ)
Q1: 我在后台设置了自定义参数并填写了内容,但文章详情页就是不显示,这是为什么? A1: 有几种