在安企CMS中,推荐属性是内容运营中一个非常实用的功能。它能够帮助我们对内容进行分类标记,进而影响这些内容在前台列表或详情页中的展示方式,比如突出显示、优先排序,甚至改变它们的布局样式。了解并善用这些属性,将使您的网站内容管理更加灵活高效。

一、在后台为文档设置推荐属性

要给文档添加推荐属性,您首先需要进入安企CMS的后台管理界面。

  1. 进入文档编辑页面:导航至“内容管理”菜单,选择“文档管理”,然后选择一篇已有的文档进行“编辑”,或者点击“添加新文档”来创建一篇新文档。
  2. 找到推荐属性选项:在文档编辑页面的左侧或右侧(取决于您的后台布局),您会看到一个名为“推荐属性”的区域。
  3. 选择推荐属性:安企CMS提供了八种预设的推荐属性,每种属性都有一个对应的字母代号,方便在模板中进行调用:
    • 头条 [h]:通常用于标记最重要的、需要醒目展示的文章。
    • 推荐 [c]:标记为普通推荐内容。
    • 幻灯 [f]:适用于需要在幻灯片或轮播图中展示的内容。
    • 特荐 [a]:特殊推荐,比普通推荐更重要。
    • 滚动 [s]:适合在滚动新闻或公告区域显示的内容。
    • 加粗 [h]:这个属性名在文档中与“头条”重叠,实际效果可能需要查看模板实现,但通常表示在某个列表项中文字需要加粗显示。
    • 图片 [p]:可能意味着该内容在展示时需要配合图片。
    • 跳转 [j]:通常用于需要跳转到外部链接或特定页面的内容。

您可以根据文档的实际重要性和希望达到的展示效果,为文档选择一个或多个推荐属性。这些属性就像是给文档贴上的“内容标签”,方便前台模板根据这些标签进行筛选和展示。

二、在前台模板中利用推荐属性影响展示与排序

设置好推荐属性后,下一步就是在前台模板中利用这些属性来控制内容的显示。这主要通过安企CMS的模板标签 archiveListarchiveDetail 来实现。

1. 调用带有特定推荐属性的内容

在列表页中,您可以使用 archiveList 标签的 flag 参数来筛选和调用具有特定推荐属性的文档。例如,如果您想在首页展示最新的5篇“头条”文章:

{% archiveList featuredArticles with flag="h" order="id desc" limit="5" %}
    {% for item in featuredArticles %}
        <div class="headline-item">
            <a href="{{ item.Link }}">{{ item.Title }}</a>
            <p>{{ item.Description }}</p>
        </div>
    {% empty %}
        <p>暂无头条文章。</p>
    {% endfor %}
{% endarchiveList %}

这段代码会筛选出所有被标记为 h(头条)的文档,并按发布时间倒序(id desc)取出最新的5篇进行展示。您可以根据需要修改 flag 参数的值,例如 flag="c" 获取推荐文章,flag="f" 获取幻灯片文章。如果需要获取同时带有多个属性的文档,可以直接将属性字母组合,如 flag="hc"

2. 影响列表页的展示排序

要让带有推荐属性的文档在列表页中显示在更靠前的位置,有几种常见的策略:

  • 分段查询与组合展示:这是最常用也最灵活的方法。您可以先查询并展示带有特定推荐属性(例如“头条”或“特荐”)的文档,然后再查询并展示其余的文档。 例如,先展示3篇特荐文章,再展示其余最新文章:

    <div class="special-recommendations">
        <h3>特荐内容</h3>
        {% archiveList specialRecs with flag="a" order="id desc" limit="3" %}
            {% for item in specialRecs %}
                <p><a href="{{ item.Link }}">{{ item.Title }}</a></p>
            {% endfor %}
        {% endarchiveList %}
    </div>
    
    
    <div class="latest-articles">
        <h3>最新文章</h3>
        {% archiveList latestArticles with excludeFlag="a" order="id desc" limit="10" %} {# 排除已特荐的,防止重复 #}
            {% for item in latestArticles %}
                <p><a href="{{ item.Link }}">{{ item.Title }}</a></p>
            {% endfor %}
        {% endarchiveList %}
    </div>
    

    通过 excludeFlag 参数,您可以避免在后续的常规列表中重复显示已经被特荐的内容,从而保证内容的多样性。

  • 利用 order 参数进行排序archiveList 标签的 order 参数允许您指定文档的排序方式。除了 id desc(按ID降序,即最新发布)和 views desc(按浏览量降序)外,还有一个 sort desc(按后台自定义排序)的选项。如果您的文档后台支持设置一个“排序值”(通常是一个