在安企CMS中管理和展示内容,文章详情页无疑是用户获取信息的核心阵地。除了文章标题、正文这些基本要素,很多时候我们还需要在详情页中展示一些个性化的信息,比如文章的作者、内容来源、产品规格、发布地点等。这些信息在安企CMS中被称为“自定义参数”,它们能够极大丰富内容的维度,并满足不同业务场景的个性化需求。

安企CMS提供了非常灵活的方式来定义和显示这些自定义参数,让网站运营者可以根据实际需要,轻松定制文章详情页的内容展示。下面,我们就来一起看看如何操作,才能让这些自定义参数在文章详情页中优雅地呈现出来。

第一步:在后台定义您的自定义参数

在安企CMS中,自定义参数是通过“内容模型”来定义的。内容模型就像是内容的骨架,它决定了一类内容(比如“文章”或“产品”)可以拥有哪些字段。

  1. 进入内容模型管理:首先,登录您的安企CMS后台管理界面,导航到“内容管理”菜单,找到“内容模型”选项并点击进入。
  2. 选择或新建模型:通常情况下,您可能已经在使用系统自带的“文章模型”或“产品模型”。您可以选择编辑现有模型,也可以根据需求新建一个模型。
  3. 添加自定义字段:在所选模型下,您会看到“内容模型自定义字段”区域。在这里,点击添加字段,为您的自定义参数命名。
    • 参数名:这是参数在后台管理界面和前端模板中用于显示的可读名称,例如“文章作者”、“内容来源”。
    • 调用字段:这是参数在数据库中存储的字段名,也是在模板中引用的唯一标识。为了保持规范和易于辨识,建议使用简洁的英文字母,例如“author”代表作者,“source”代表来源。
    • 字段类型:根据您想存储的数据类型选择,安企CMS提供了单行文本、数字、多行文本、单项选择、多项选择、下拉选择等多种类型,甚至可以是图片组等。
    • 其他设置:根据需要配置是否必填、默认值等。

完成自定义字段的添加后,记得保存内容模型的设置。

第二步:在发布或编辑文章时填写自定义参数

当您定义好内容模型中的自定义参数后,在发布或编辑属于该模型的文章时,这些自定义字段就会出现在文章编辑页面。

  1. 发布/编辑文章:前往“内容管理” -> “文档管理”,选择“发布文档”或编辑一篇现有文章。
  2. 选择所属分类:确保您选择的“所属分类”是关联到您在第一步中配置了自定义参数的内容模型的。
  3. 填写参数值:在文章编辑界面的“其他参数”部分,您会看到刚刚定义的自定义字段。在这里,为每个参数填写相应的值。例如,在“文章作者”字段中输入作者姓名,在“内容来源”字段中输入来源网站。

保存文章后,这些自定义参数的值就成功存储起来了。

第三步:在文章详情页模板中显示自定义参数

现在,关键一步来了:如何在您的网站前端文章详情页模板中,获取并显示这些自定义参数呢?安企CMS提供了强大且灵活的模板标签,可以轻松实现这一目标。文章详情页的模板文件通常位于 /template/您的模板目录/archive/detail.html,或者您在后台为文章自定义的模板文件中。

我们将介绍两种常用的获取和显示自定义参数的方法,您可以根据实际需求选择最合适的一种:

方法一:直接通过字段名获取(适用于已知且数量不多的特定参数)

如果您只需要显示少数几个已知名称的自定义参数,例如“作者”和“来源”,并且您已经知道它们在内容模型中定义的“调用字段”名称(如 authorsource),那么直接通过字段名获取是最简洁的方式。

您可以使用 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 ... %} 进一步赋值给 articleAuthorarticleSource 变量是为了更方便地进行条件判断 ({% 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.Nameitem.Value 进行条件判断,实现更复杂的显示逻辑。

灵活运用,提升内容价值

通过以上步骤,您就可以在安企CMS的文章详情页中,根据实际需求灵活地获取并显示文章的自定义参数了。无论是简单的作者信息,还是复杂的产品规格列表,安企CMS的灵活内容模型和强大的模板标签都能助您一臂之力。合理利用这些功能,不仅能让您的网站内容更加丰富和个性化,也能极大提升用户体验和内容营销的效果。


常见问题 (FAQ)

Q1: 我在后台设置了自定义参数并填写了内容,但文章详情页就是不显示,这是为什么? A1: 有几种