如何根据分类、模块或推荐属性筛选并显示特定内容列表?

📅 👁️ 79

在使用安企CMS管理网站内容时,我们经常需要将特定的内容(比如文章、产品)以列表的形式展现在网站的不同区域。这可能意味着我们需要在首页显示最新的头条文章,在产品分类页只展示某个特定系列的产品,或者在侧边栏推荐一些热门内容。安企CMS提供了灵活的标签,让我们可以根据分类、内容模型或推荐属性等多种条件,精准地筛选并显示所需的内容列表。

接下来,我们就一起探索如何利用安企CMS强大的模板标签,实现这些精细化的内容筛选与展示。

理解核心:archiveList 标签

安企CMS中用于获取内容列表的核心工具是 archiveList 标签。它就像一个万能的内容筛选器,通过搭配不同的参数,可以满足绝大多数的内容展示需求。

这个标签的基本结构通常是这样的:

{% archiveList articles with type="list" limit="5" %}
    {% for article in articles %}
        {# 在这里展示每一篇文章的详细信息,比如标题、链接、缩略图等 #}
        <div class="article-item">
            <a href="{{ article.Link }}">{{ article.Title }}</a>
            {% if article.Thumb %}
                <img src="{{ article.Thumb }}" alt="{{ article.Title }}">
            {% endif %}
            <p>{{ article.Description }}</p>
        </div>
    {% endfor %}
{% endarchiveList %}

在上面的例子中,articles 是我们为获取到的内容列表定义的变量名,你可以根据自己的习惯命名。type="list" 表示我们希望获取一个简单的列表,而 limit="5" 则限制了只显示最新的5条内容。

根据分类筛选内容

网站内容的分类是组织信息最基本的方式。安企CMS允许我们将文章、产品等内容归属于不同的分类。要在模板中根据分类来筛选内容,我们需要使用 categoryId 参数。

假设你有一个名为“公司新闻”的分类,其ID是10。你可以在后台的“内容管理”->“文档分类”页面查看到每个分类对应的ID。

要显示“公司新闻”分类下的所有文章,你可以这样编写代码:

{# 显示分类ID为10(例如“公司新闻”)下的内容 #}
{% archiveList newsList with categoryId="10" type="list" limit="8" %}
    <h3>最新公司新闻</h3>
    {% for news in newsList %}
        <div class="news-item">
            <a href="{{ news.Link }}">{{ news.Title }}</a>
            <span>发布日期: {{ stampToDate(news.CreatedTime, "2006-01-02") }}</span>
        </div>
    {% else %}
        <p>暂时没有公司新闻。</p>
    {% endfor %}
{% endarchiveList %}

如果你的分类下还有子分类,并且你希望显示所有子分类的内容,默认情况下 archiveList 标签是会包含的。如果你只希望显示当前分类下的内容,而不包括子分类,可以添加 child=false 参数。

根据内容模型筛选内容

安企CMS的一大亮点是其灵活的内容模型功能,你可以创建“文章模型”、“产品模型”甚至“活动模型”等来适应不同的业务需求。每种内容模型都有一个唯一的 moduleId。在后台的“内容管理”->“内容模型”页面,你可以查看到这些模型的ID。

如果你想在一个页面上,比如首页,单独展示最新的产品列表,而不是文章列表,就可以利用 moduleId 进行筛选。假设“产品模型”的ID是2

{# 显示产品模型(moduleId="2")下的最新产品 #}
{% archiveList productList with moduleId="2" order="id desc" type="list" limit="6" %}
    <h2>热门产品推荐</h2>
    <div class="product-grid">
        {% for product in productList %}
            <div class="product-card">
                <a href="{{ product.Link }}">
                    <img src="{{ product.Thumb }}" alt="{{ product.Title }}">
                    <h4>{{ product.Title }}</h4>
                </a>
            </div>
        {% endfor %}
    </div>
{% endarchiveList %}

这里我们还使用了 order="id desc" 来确保按最新发布的产品排序。

根据推荐属性(Flag)筛选内容

安企CMS允许你为每篇文档设置多种推荐属性,例如“头条”、“推荐”、“幻灯”等。这些属性在后台的文档编辑界面就可以轻松勾选,并且每个属性都有一个对应的单字母标识(如h代表头条,c代表推荐,f代表幻灯)。通过 flag 参数,你可以在网站上创建各种特殊的展示区域。

例如,要在首页的轮播图位置展示被标记为“幻灯(f)”的文章:

{# 显示被标记为“幻灯(f)”的内容作为轮播图 #}
{% archiveList sliderItems with flag="f" type="list" limit="5" %}
    <div class="main-slider">
        {% for item in sliderItems %}
            <div class="slider-item">
                <a href="{{ item.Link }}">
                    <img src="{{ item.Logo }}" alt="{{ item.Title }}">
                    <h3>{{ item.Title }}</h3>
                </a>
            </div>
        {% endfor %}
    </div>
{% endarchiveList %}

你也可以组合使用多个 flag 值,用逗号隔开,例如 flag="h,c" 会同时显示被标记为“头条”和“推荐”的内容。

组合多种筛选条件

安企CMS的强大之处在于,你可以将上述的筛选条件灵活地组合起来,实现更精准的内容定位。例如,你可能想在“技术文章”分类(categoryId="12")下,筛选出属于“文章模型”(moduleId="1")且被标记为“推荐(c)”的热门技术文章。

{# 组合筛选:显示技术文章分类下,文章模型中,被推荐的内容,并按浏览量倒序排列 #}
{% archiveList featuredTechArticles with categoryId="12" moduleId="1" flag="c" order="views desc" type="list" limit="4" %}
    <h2>精选技术推荐</h2>
    <ul class="featured-list">
        {% for article in featuredTechArticles %}
            <li>
                <a href="{{ article.Link }}">{{ article.Title }}</a>
                <span>({{ article.Views }} 阅读)</span>
            </li>
        {% endfor %}
    </ul>
{% endarchiveList %}

在这个例子中,我们不仅组合了分类、模型和推荐属性,还通过 order="views desc" 让最受欢迎的文章优先显示,并用 limit="4" 控制了显示数量。

进阶筛选:排除特定内容与自定义字段

除了基本的筛选外,archiveList 还提供了一些高级选项,比如 excludeCategoryIdexcludeFlag,可以排除掉特定的分类或推荐属性的内容。

当你网站的内容模型中定义了自定义字段(比如“文章来源”),并且希望根据这些字段进行更动态的筛选时,可以考虑使用 archiveFilters 标签,它会根据你后台设置的自定义字段生成筛选链接,配合 archiveListq 参数或URL查询参数进行内容筛选。这通常用于构建更复杂的筛选页面,例如房产网站根据户型、面积筛选房源。不过,具体实现会涉及URL参数的传递和处理,更适合有模板开发经验的用户

相关文章

在安企CMS中,如何通过模板标签动态获取并显示文章列表?

网站内容的动态展示是现代网站运营的核心之一,它不仅能提升用户体验,让访客轻松找到感兴趣的信息,还能有效助力搜索引擎优化(SEO),使网站更受搜索引擎青睐。在安企CMS中,通过强大的模板标签功能,我们可以非常灵活地获取并显示各种类型的文章列表。 安企CMS的模板系统借鉴了Django模板引擎的语法,整体风格自然流畅,对于熟悉前端开发的你来说,上手会非常快。在模板文件中,我们主要通过两种符号来操作

2025-11-08

如何配置安企CMS以支持响应式设计或独立的移动端内容显示?

在当今多设备并存的时代,网站能够良好地适应各种屏幕尺寸,无论是PC、平板还是手机,已成为一项基本要求。安企CMS(AnQiCMS)深知这一点,并提供了多种灵活的配置选项,帮助你轻松实现响应式设计或独立的移动端内容显示,确保你的内容在任何设备上都能给用户带来优质的浏览体验。 安企CMS提供了三种主要的网站模式来支持多终端显示:自适应、代码适配和PC+手机独立站点

2025-11-08

安企CMS如何实现不同页面(如文章、产品、单页)使用独立模板进行显示?

在网站运营中,我们常常需要针对不同类型的内容,如一篇深度文章、一个产品展示页或是一个“关于我们”的单页面,采用截然不同的布局和设计风格。这种差异化的展示不仅能提升用户体验,更能帮助内容更好地传达信息,达成营销目标。AnQiCMS(安企CMS)在这方面提供了非常灵活且强大的解决方案,让我们可以轻松实现不同页面使用独立模板进行显示。 安企CMS的核心设计理念之一就是“灵活的内容模型”

2025-11-08

如何在安企CMS中自定义内容在前端页面的展示布局?

安企CMS (AnQiCMS) 作为一个高效、灵活的内容管理系统,其强大的模板功能和内容模型为我们提供了极大的自由度,可以根据网站的实际需求,精细化地控制内容在前端页面的展示布局。要实现这一目标,我们需要深入理解安企CMS的模板引擎、内容模型以及内置标签的运用。 --- ### 安企CMS 布局定制的核心要素 在安企CMS中自定义内容布局,主要围绕以下几个核心要素展开: 1.

2025-11-08

安企CMS如何实现内容详情页的完整信息(包括自定义字段)显示?

在网站运营中,内容详情页是访客了解产品或服务的核心入口,其信息展示的完整性和用户体验至关重要。安企CMS(AnQiCMS)在设计时充分考虑了内容展示的灵活性和定制性,即使是您定义的各种自定义字段,也能在内容详情页中优雅地呈现。 接下来,我们将一起探索如何在安企CMS中,从内容模型的建立到模板的调用,完整地展现内容详情页的所有信息,包括那些独具匠心的自定义字段。 ### 构建内容骨架

2025-11-08

如何在内容列表和详情页中优化图片显示(缩略图、多图、懒加载)?

在内容为王的数字时代,网站上的图片不仅是视觉的装饰,更是吸引用户、传递信息、提升品牌形象的关键元素。然而,未经优化的图片也可能成为拖慢网站加载速度、影响用户体验甚至损害SEO表现的罪魁祸首。幸运的是,安企CMS(AnQiCMS)为我们提供了全面而强大的图片优化工具,让网站在保持视觉吸引力的同时,实现高性能加载。 本文将深入探讨在安企CMS中,如何充分利用其功能

2025-11-08

如何在安企CMS中动态显示网站的导航菜单,包括二级或多级下拉菜单?

在网站运营中,清晰、直观的导航菜单是用户体验的基石。一个设计精良的导航系统,不仅能帮助访客迅速找到所需信息,更能有效引导其在网站内部的浏览路径,对网站的可用性和SEO表现都有着举足轻重的影响。安企CMS深知其重要性,提供了一套灵活且强大的导航管理功能,让您无需编写复杂的代码,就能轻松实现动态、多级的导航菜单。 接下来,我们将一起探索如何在安企CMS中构建和管理这些动态导航菜单

2025-11-08

如何创建和显示面包屑导航,以提升用户体验和页面结构可见性?

在网站运营中,清晰的导航是提升用户体验的关键。当访问者深入网站内部页面时,一个设计良好、易于理解的面包屑导航(Breadcrumb Navigation)能有效帮助他们了解当前所处的位置,并提供快速返回上级页面的途径。这不仅让网站结构一目了然,也有助于搜索引擎更好地理解网站层级,间接优化SEO。 安企CMS(AnQiCMS)深知导航的重要性,内置了非常实用的面包屑导航功能

2025-11-08