在内容管理系统中,突出网站上的重点内容对于吸引用户、提升页面浏览量至关重要。安企CMS(AnQiCMS)提供了强大的文档推荐属性功能,让网站运营者能够灵活地标记和展示文章。本文将详细介绍如何在安企CMS的文档列表和详情页中,巧妙地利用这些推荐属性,让您的网站内容更加生动和具有引导性。

了解安企CMS的推荐属性

安企CMS为每篇文档设计了多种推荐属性,这些属性在后台编辑文档时可以进行勾选。它们包括:头条[h]推荐[c]幻灯[f]特荐[a]滚动[s]加粗[h]图片[p]跳转[j]。值得注意的是,这些属性可以单选、多选,也可以不选。每个字母都代表一个特定的属性,方便在前端模板中进行识别和调用。

这些属性不仅仅是简单的标记,它们是内容运营策略的载体。例如,您可以将重要新闻标记为“头条”,将其展示在首页最显眼的位置;将适合轮播的图片文章标记为“幻灯”,以便在幻灯片区域展示;或者将高质量的深度文章标记为“推荐”,在侧边栏或相关推荐模块中重点露出。

在文档列表中展示推荐属性

在网站的列表页面,如分类列表、搜索结果页或首页的文章模块,我们常常需要根据推荐属性来筛选内容,或者直接在每篇文章标题旁显示其推荐属性。这主要通过 archiveList 标签来实现。

1. 筛选特定推荐属性的文档

如果您希望在一个特定的列表区域只展示具备“头条”属性的文档,可以使用 flag 参数。例如,要在一个区块中列出最新的5篇头条文章:

{% archiveList archives with type="list" limit="5" flag="h" %}
    {% for item in archives %}
        <li>
            <a href="{{item.Link}}">{{item.Title}}</a>
        </li>
    {% empty %}
        <li>暂无头条文章</li>
    {% endfor %}
{% endarchiveList %}

这里,flag="h" 确保了 archives 变量中只会包含被标记为“头条”的文档。您可以根据需要替换 h 为其他属性字母,或使用逗号分隔多个属性(例如 flag="hc" 筛选既是头条又是推荐的文档)。

2. 在列表项中显示文档的推荐属性标记

如果您希望在每篇列表文章的标题旁边直接显示它拥有的推荐属性(例如“[头条] 文章标题”),您需要在使用 archiveList 标签时加上 showFlag=true 参数。

开启 showFlag=true 后,循环中的每个 item 对象将包含一个 Flag 字段。这个 Flag 字段会返回一个字符串,其中包含了所有被选中的推荐属性的字母缩写(例如,“hc”表示该文档同时被标记为“头条”和“推荐”)。您可以通过条件判断来显示对应的中文或图标。

{% archiveList archives with type="list" limit="10" showFlag=true %}
    {% for item in archives %}
        <li>
            <a href="{{item.Link}}">
                {%- if item.Flag contains "h" %}
                    <span style="color: red; margin-right: 5px;">[头条]</span>
                {%- endif %}
                {%- if item.Flag contains "c" %}
                    <span style="color: green; margin-right: 5px;">[推荐]</span>
                {%- endif %}
                {{item.Title}}
            </a>
        </li>
    {% empty %}
        <li>暂无文章</li>
    {% endfor %}
{% endarchiveList %}

在上面的示例中,item.Flag contains "h" 用于判断当前文档是否包含“头条”属性,item.Flag contains "c" 则判断是否包含“推荐”属性。您可以根据实际需求为不同的属性添加样式或图标。

在文档详情页显示推荐属性

当用户点击进入一篇文档的详情页时,有时也需要在这篇文章的标题下方或侧边栏显示其拥有的推荐属性。这可以通过 archiveDetail 标签实现。

archiveDetail 标签用于获取当前页面的文档详情数据。在文档详情页中,您可以直接访问 archive 对象(通常由系统自动提供)或使用 archiveDetail 标签来获取 Flag 字段。

<article>
    <h1>{{archive.Title}}</h1>
    <p class="article-meta">
        发布时间:{{stampToDate(archive.CreatedTime, "2006-01-02")}}
        <span> | </span>
        浏览量:{{archive.Views}}
        <span> | </span>
        <!-- 显示推荐属性 -->
        {%- if archive.Flag contains "h" %}
            <span style="color: red; margin-left: 5px;">[头条]</span>
        {%- endif %}
        {%- if archive.Flag contains "c" %}
            <span style="color: green; margin-left: 5px;">[推荐]</span>
        {%- endif %}
        {%- if archive.Flag contains "f" %}
            <span style="color: blue; margin-left: 5px;">[幻灯]</span>
        {%- endif %}
        <!-- 更多属性判断... -->
    </p>
    <div class="article-content">
        {{archive.Content|safe}}
    </div>
</article>

这里,我们直接通过 archive.Flag 来判断当前文档的属性。如果 archive 对象在当前模板上下文中不可用,也可以使用 archiveDetail 标签来显式获取,例如:

{% archiveDetail currentDocFlag with name="Flag" %}
<p class="article-meta">
    <!-- ...其他信息... -->
    {%- if currentDocFlag contains "h" %}
        <span style="color: red; margin-left: 5px;">[头条]</span>
    {%- endif %}
    <!-- 更多属性判断... -->
</p>

灵活运用与小技巧

  • 样式定制: 为了让推荐属性更加醒目,您可以为不同的属性定义独特的CSS样式,例如为“头条”设置红色背景,为“推荐”设置绿色边框,或者为其添加小图标。
  • 组合查询: 您可以将 flag 参数与 categoryId(分类ID)、order(排序方式)等其他 archiveList 参数结合使用,实现更精准的内容筛选和展示。例如,在某个分类下,只显示按浏览量排序的前5篇“推荐”文章。
  • 排除特定属性: 如果您希望显示一个普通文章列表,但排除所有“头条”文章,可以使用 excludeFlag="h" 参数。
  • 多属性逻辑: 一个文档可能同时被标记为“头条”和“推荐”,item.Flag 会返回如“hc”的组合字符串。在模板中,使用 contains 运算符可以灵活判断是否包含某个特定属性。

安企CMS的推荐属性功能,为网站内容提供了丰富的标记和展示手段。通过上述在文档列表和详情页中的实现方法,您可以轻松地管理和突出重要内容,提升用户体验,并有效地引导网站流量,最终助力您实现更佳的网站运营效果。


常见问题解答 (FAQ)

Q1: 安企CMS推荐属性的字母标记(如 [h][c])分别代表什么含义?

A1: 这些字母是安企CMS后台预设的快捷标记,方便您在编辑文档时快速勾选。它们分别代表:h 代表头条,c 代表推荐,f 代表幻灯,a 代表特荐,s 代表滚动,p 代表图片,j 代表跳转。您在后台编辑文档时,将鼠标悬停在推荐属性选项上,也能看到对应的详细解释。

Q2: 我只想在列表页显示“头条”和“推荐”属性的标记,其他属性(如“幻灯”、“图片”)不想显示出来,如何在模板中实现?

A2: 即使文档同时拥有多个推荐属性,您也可以选择性地显示。在模板中,只需要对您想显示的特定属性进行条件判断即可。例如:

{%- if item.Flag contains "h" %}
    <span class="flag-headline">[头条]</span>
{%- endif %}
{%- if item.Flag contains "c" %}
    <span class="flag-recommend">[推荐]</span>
{%- endif %}

这样,只有 item.Flag 字符串中包含 ‘h’ 或 ‘c’ 时,才会显示对应的标记。其他没有明确判断的属性将不会被展示。

Q3: 我设置了 showFlag=true,为什么 item.Flag 返回的是一串字母(例如“hc”)而不是中文描述?

A3: item.Flag 字段返回的是一个字符串,其中包含了所有选中推荐属性的英文缩写字母。这是为了提供最大的灵