作为一名资深的网站运营专家,我深知内容管理系统(CMS)的强大功能在于其灵活性和易用性。在安企CMS(AnQiCMS)中,文档的“推荐属性”(Flag)就是这样一个看似简单,实则能极大提升内容运营效率和网站展示多样性的功能。今天,我们就来深入探讨如何巧妙地运用推荐属性,实现文档列表的精准过滤和展示。
认识安企CMS的“推荐属性”(Flag)
在安企CMS中,当我们发布或编辑一篇文档时,除了标题、内容、分类等基本信息外,还会看到一个非常实用的选项叫做“推荐属性”。这些属性就像是给文档打上的特殊标签,它们不影响文档的分类归属,而是用来标记文档的特点或重要性,以便在网站前端进行特殊展示或筛选。
安企CMS提供了八种预设的推荐属性,你可以根据实际的运营需求,为文档选择一个、多个,甚至不选择任何属性。这些属性都对应一个简洁的字母标识,它们是:
- 头条 [h]:通常用于标记最重要的、需要醒目展示的文章。
- 推荐 [c]:表示内容质量较高,值得向用户推荐的文档。
- 幻灯 [f]:常用于幻灯片或轮播图中展示的文档,图片通常是重点。
- 特荐 [a]:具有特殊意义或需要特别推荐的文档。
- 滚动 [s]:适用于在公告栏或滚动新闻中显示的简短信息。
- 加粗 [h]:提示前端在显示时可对标题等进行加粗处理,以示强调。
- 图片 [p]:表示该文档以图片内容为主,或需要强调图片展示。
- 跳转 [j]:用于标记点击后会跳转到外部链接而非文档详情页的特殊文档。
这些属性的设置位置非常直观,就在后台的“内容管理”模块中,当你“添加文档”或“编辑文档”时,可以在界面上找到“推荐属性”选项进行勾选。
核心工具:archiveList 标签的妙用
在安企CMS的模板设计中,我们主要通过 archiveList 标签来获取并显示文档列表。这个标签功能强大,它支持多种参数来控制列表的来源、排序和显示方式。而要根据推荐属性过滤文档,flag 和 excludeFlag 这两个参数就是我们的核心所在。
archiveList 标签的基本用法是这样的:
{% archiveList 变量名称 with 参数1="值1" 参数2="值2" %}
{% for item in 变量名称 %}
{# 在这里循环显示文档内容 #}
{% endfor %}
{% endarchiveList %}
其中,变量名称是你为获取到的文档列表自定义的一个名字,例如 archives、latestNews 等。
实战指南:根据推荐属性过滤文档
现在,我们来看看如何在模板中实际运用这些推荐属性来过滤和显示文档。
1. 筛选显示特定推荐属性的文档
假设你希望在网站首页的一个特定区域,只展示那些被标记为“头条”的文档。你可以使用 flag 参数,并传入对应的字母标识。
{# 示例:在首页显示5篇“头条”文档 #}
<div class="headline-articles">
<h2>今日头条</h2>
<ul>
{% archiveList headlines with flag="h" limit="5" %}
{% for item in headlines %}
<li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
{% empty %}
<li>暂无头条文章。</li>
{% endfor %}
{% endarchiveList %}
</ul>
</div>
在这个例子中,flag="h" 告诉 archiveList 标签只检索那些带有“头条”属性的文档。limit="5" 则限制了显示的数量为5篇。{% empty %} 块是一个非常友好的设计,当没有符合条件的文档时,它会显示“暂无头条文章”,避免页面出现空白。
2. 排除特定推荐属性的文档
有时候,你可能想显示绝大多数文档,但排除掉某些特定属性的。例如,你有一个普通的文章列表,但不想让标记为“幻灯”的文档出现在这里,因为它们已经在轮播图区域显示过了。这时,excludeFlag 参数就派上用场了。
{# 示例:显示最新文章,但排除掉“幻灯”文档 #}
<div class="latest-articles">
<h2>最新动态</h2>
<ul>
{% archiveList regularContent with excludeFlag="f" order="id desc" limit="10" %}
{% for item in regularContent %}
<li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
{% empty %}
<li>暂无最新动态。</li>
{% endfor %}
{% endarchiveList %}
</ul>
</div>
这里,excludeFlag="f" 确保了所有带有“幻灯”属性的文档都不会出现在 regularContent 列表中。order="id desc" 则让文档按发布时间倒序排列,显示最新的。
3. 在文档列表中显示推荐属性标识
如果你希望用户一眼就能看出某篇文档带有特殊的推荐属性,你可以在文档标题旁边显示一个标识。archiveList 标签提供了 showFlag=true 参数,它会把文档所带的所有推荐属性字母字符串(例如“hc”)包含在 item.Flag 字段中。
”`twig {# 示例:显示推荐文档,并在标题旁注明属性 #}
<h2>精选推荐</h2>
<ul>
{% archiveList featuredDocs with flag="c" showFlag=true limit="5" %}
{% for item in featuredDocs %}
<li>
<a href="{{ item.Link }}">{{ item.Title }}</a>
{% if item.Flag %}
<span class="doc-flag">[{{ item.Flag }}