如何根据特定推荐属性(如“头条”、“推荐”)筛选并显示文档列表?

📅 👁️ 72

在AnQiCMS中,内容推荐属性的灵活运用,是提升网站内容曝光度和用户体验的关键环节。无论是希望在首页突出重要新闻,还是在特定版块推荐精选内容,AnQiCMS都提供了便捷高效的方案。本文将深入探讨如何根据“头条”、“推荐”等特定属性,筛选并显示文档列表,帮助你更好地管理和呈现网站内容。

第一部分:理解推荐属性及其设置

在AnQiCMS的内容管理系统中,推荐属性是一项非常实用的功能,它允许我们为文档标记不同的重要程度或展示方式。这些属性通常包括但不限于“头条”、“推荐”、“幻灯”等,各自对应一个简短的字母标识,方便在模板中进行调用。

具体来说,AnQiCMS提供了以下几种常用的推荐属性:

  • 头条 [h]: 通常用于网站最重要的、最需要突出展示的内容。
  • 推荐 [c]: 表示该内容被编辑推荐,适合在列表或侧边栏进行展示。
  • 幻灯 [f]: 专为轮播图或焦点图设计的内容。
  • 特荐 [a]: 一种特殊的推荐,可能拥有更高的优先级。
  • 滚动 [s]: 适用于在页面上以滚动形式展示的内容,如公告栏。
  • 加粗 [h]: 文本层面的强调,但在某些模板设计中可能也用于内容筛选。
  • 图片 [p]: 强调内容包含重要图片,可能用于图片列表。
  • 跳转 [j]: 指示该内容点击后会跳转到外部链接或指定页面。

如何在后台设置推荐属性?

当你发布或编辑文档时,在文档编辑界面的显著位置,你会看到一个名为“推荐属性”的选项区域。在这里,你可以根据文档的实际需求,勾选一个或多个推荐属性。例如,如果一篇新闻稿件是当前网站的重磅内容,你可以勾选“头条[h]”和“推荐[c]”。AnQiCMS允许你单选、多选或不选这些属性,这为前端内容的灵活展示奠定了基础。

需要注意的是,虽然后台可以为文档勾选多个推荐属性,但在前端模板标签调用时,通常会针对单个属性进行筛选。

第二部分:使用 archiveList 标签进行筛选和展示

AnQiCMS的模板系统采用类似Django的语法,其中archiveList标签是获取文档列表的核心工具。通过灵活运用archiveList标签的参数,我们可以轻松实现按推荐属性筛选文档的需求。

基础筛选:获取带有特定推荐属性的文档

要筛选具有特定推荐属性的文档,我们主要会用到 archiveList 标签的 flag 参数。flag参数的值就是我们在后台设置推荐属性时看到的字母标识。

假设我们想获取带有“头条”属性的最新5篇文章,并以列表形式展示,可以这样编写模板代码:

{# 获取带有“头条”属性 (flag="h") 的最新5篇文档 #}
<div class="headlines-section">
    <h3>头条新闻</h3>
    <ul>
        {% archiveList archives with flag="h" limit="5" order="id desc" %}
            {% for item in archives %}
                <li>
                    <a href="{{ item.Link }}" title="{{ item.Title }}">
                        <h4>{{ item.Title }}</h4>
                        <p>{{ item.Description|truncatechars:80 }}</p>
                        <span>发布时间:{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                        <span>浏览量:{{ item.Views }}</span>
                    </a>
                </li>
            {% empty %}
                <li>暂无头条新闻。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</div>

在这个例子中:

  • flag="h":指定只筛选带有“头条”属性的文档。
  • limit="5":限制只显示5篇文章。
  • order="id desc":按照文档ID降序排列,通常代表最新发布的文档。
  • item.Linkitem.Titleitem.Descriptionitem.CreatedTimeitem.Views:是文档对象中常用的字段,你可以根据需要选择显示。stampToDate是一个实用的时间格式化函数。
  • truncatechars:80 是一个过滤器,用于截取描述内容,防止过长。

高级筛选与分页:结合其他参数和分页功能

我们不仅可以根据推荐属性筛选,还可以结合分类、内容模型等进行更精细的筛选,并实现分页显示。

假设我们想在一个特定分类(例如ID为10的文章分类)下,显示所有“推荐”文档,并且支持分页,每页显示10篇:

{# 获取分类ID为10下,带有“推荐”属性 (flag="c") 的文档,并分页显示 #}
<div class="recommended-articles">
    <h3>推荐文章列表</h3>
    <ul>
        {% archiveList archives with categoryId="10" flag="c" type="page" limit="10" order="id desc" %}
            {% for item in archives %}
                <li>
                    <a href="{{ item.Link }}" title="{{ item.Title }}">
                        {% if item.Thumb %}<img src="{{ item.Thumb }}" alt="{{ item.Title }}">{% endif %}
                        <h4>{{ item.Title }}</h4>
                        <p>{{ item.Description|truncatechars:100 }}</p>
                        <span>{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                    </a>
                </li>
            {% empty %}
                <li>当前分类下暂无推荐文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>

    {# 分页导航 #}
    <div class="pagination-section">
        {% pagination pages with show="5" %}
            {# 可以根据pages变量的属性,如pages.FirstPage.Link, pages.Pages等,构建完整的分页导航 #}
            {% if pages.PrevPage %}<a href="{{ pages.PrevPage.Link }}">上一页</a>{% endif %}
            {% for page in pages.Pages %}<a class="{% if page.IsCurrent %}active{% endif %}" href="{{ page.Link }}">{{ page.Name }}</a>{% endfor %}
            {% if pages.NextPage %}<a href="{{ pages.NextPage.Link }}">下一页</a>{% endif %}
        {% endpagination %}
    </div>
</div>

在这个例子中:

  • categoryId="10":限定文档必须属于ID为10的分类。
  • flag="c":指定筛选“推荐”属性。
  • type="page":启用分页功能,这样archiveList标签会返回分页所需的数据,而不是一次性返回所有结果。
  • limit="10":每页显示10篇文档。
  • {% pagination pages with show="5" %}:结合分页标签,它会自动根据archiveList标签返回的分页数据生成分页链接。

排除特定属性的文档

除了筛选特定属性,有时我们可能需要排除某些属性的文档。例如,在常规的文章列表中,我们可能不希望显示已经被标记为“头条”的文档,以避免内容重复展示或分散焦点。这时,可以使用 excludeFlag 参数。

{# 获取所有文章,但排除掉“头条” (excludeFlag="h") 文档 #}
<div class="all-articles">
    <h3>最新文章 (排除头条)</h3>
    <ul>
        {% archiveList archives with moduleId="1" type="list" limit="10" order="id desc" excludeFlag="h" %}
            {% for item in archives %}
                <li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
            {% empty %}
                <li>暂无文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</div>

这里 excludeFlag="h" 会确保获取到的文章列表中,不包含任何被标记为“头条”属性的文档。

在文档列表中显示推荐属性标识

如果想在文档列表中直接显示文档所带的推荐属性,可以在 archiveList 标签中添加 showFlag=true 参数。

”`twig {# 获取文章并显示其推荐属性标识 #} <div class=“articles-

相关文章

如何调用并显示文档中自定义模型字段的数据?

在安企CMS中,灵活的内容模型是其核心优势之一,它允许我们根据不同业务需求创建文章、产品等各类信息载体,并为它们定义独有的属性。当我们为文档自定义了这些个性化的字段后,如何将其数据呈现在网站前端,是许多用户关注的重点。本文将详细为您解析这一过程,帮助您轻松驾驭安企CMS的自定义模型字段。 ### 理解自定义模型字段的价值 首先,让我们明确自定义模型字段的重要性。在内容管理中,标准字段(如标题

2025-11-08

如何在文档详情页显示上一篇和下一篇文档的标题和链接?

在网站内容运营中,为读者提供流畅的阅读体验至关重要。当用户阅读完一篇文档,如果能够便捷地跳转到相关的前一篇或后一篇内容,不仅能有效延长用户在网站上的停留时间,提高页面浏览量,也能帮助搜索引擎更好地理解网站的结构和内容关联性,进而对SEO产生积极影响。安企CMS(AnQiCMS)在模板功能设计上充分考虑了这一点,提供了简单而强大的标签,让在文档详情页显示上一篇和下一篇文档的标题与链接变得轻而易举

2025-11-08

如何在文档详情页显示与当前文档相关的推荐文档列表?

在网站内容运营中,为用户提供相关推荐内容,不仅能有效提升页面浏览深度和停留时间,更能优化用户体验,间接助力搜索引擎优化(SEO)表现。在AnQiCMS(安企内容管理系统)中,实现这一功能既灵活又直接。接下来,我们将探讨如何在文档详情页无缝集成并展示与当前文档紧密关联的推荐文档列表。 ### 核心价值:为什么要在文档详情页显示推荐文档? 想象一下,当用户阅读完一篇感兴趣的文章,如果没有引导

2025-11-08

如何获取并显示当前文档所属分类的名称和链接?

在网站的内容详情页中,我们常常希望能够清晰地展示当前文档所属的分类信息,比如分类的名称和指向该分类的链接。这不仅能帮助访问者更好地理解内容结构,也能提升网站的导航性和用户体验。安企CMS为我们提供了多种灵活的方式来实现这一需求。 接下来,我们将探讨几种在AnQiCMS模板中获取并显示当前文档所属分类名称和链接的方法,您可以根据实际的模板设计和需求选择最合适的方案。 ### 方法一

2025-11-08

文档列表页面如何实现按关键词搜索和显示结果?

在日益庞大的网站内容面前,如何帮助访客快速精准地找到所需信息,是提升用户体验和网站价值的关键。安企CMS(AnQiCMS)深谙内容管理之道,为我们提供了功能强大且灵活的关键词搜索机制,让文档列表页面能够轻松实现按关键词搜索并优雅地呈现结果。 **理解安企CMS的搜索核心:`archiveList`标签的妙用** 安企CMS实现关键词搜索的核心在于其强大的模板标签体系

2025-11-08

如何在文档列表页实现多条件(如自定义参数)的筛选功能?

在安企CMS中,为文档列表页实现多条件筛选功能,特别是基于自定义参数的筛选,是提升用户体验、帮助用户快速找到所需内容的关键。安企CMS凭借其灵活的内容模型和强大的模板标签系统,让这一功能实现起来既高效又直观。 整个过程可以分为几个核心步骤:首先,在后台定义好你的内容模型和自定义筛选字段;其次,在模板中构建筛选条件的展示界面;最后,利用列表标签将筛选结果呈现在文档列表中。 --- ### 一

2025-11-08

如何为文档列表设置分页,并显示页码导航?

在现代网站运营中,为内容列表设置分页功能几乎是不可或缺的。它不仅能显著提升用户浏览体验,避免单页内容过长导致加载缓慢,还有助于搜索引擎更好地抓取和索引网站内容。对于使用安企CMS的朋友来说,实现文档列表的分页并显示页码导航是一个非常直观且强大的功能。 安企CMS为我们提供了灵活的模板标签,让内容展示的控制权牢牢掌握在自己手中。要为文档列表设置分页,并友好地展示页码导航

2025-11-08

如何显示指定分类的名称

在AnQiCMS中灵活展示分类名称:一份详尽的模板调用指南 内容分类是网站结构的核心,它们不仅帮助组织和管理海量信息,更是引导用户浏览网站、提升用户体验的关键。无论是文章列表、产品详情,还是侧边导航,清晰地展示分类名称都能让您的网站内容更具条理。AnQiCMS 凭借其简洁高效的模板引擎,提供了多种灵活的方式来调用和显示指定分类的名称,让您可以根据不同的场景需求,轻松实现定制化的内容展示

2025-11-08