如何根据不同条件(如分类、推荐属性)显示文档列表?

📅 👁️ 64

在安企CMS中,灵活地展示网站内容是提升用户体验和满足运营需求的关键。无论是根据文章所属的分类,还是内容的推荐属性,系统都提供了强大且易于使用的模板标签,让您能够轻松地定制文档列表的显示方式。

核心利器:archiveList 文档列表标签

在安企CMS中,用来控制文档列表展示的核心工具是archiveList标签。它允许您根据多种条件来筛选、排序和限制显示的文档数量。通过合理配置这个标签,您可以实现各种复杂的列表展示逻辑。

按分类显示文档列表

网站内容通常会按照不同的分类进行组织,比如“公司新闻”、“行业动态”或“产品介绍”等。如果您希望在一个页面上展示某个特定分类下的文档,可以使用categoryId参数。

例如,要显示ID为1的“公司新闻”分类下的最新文章,可以这样设置:

{% archiveList latestNews with categoryId="1" moduleId="1" order="id desc" limit="5" %}
    {% for item in latestNews %}
        <li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
    {% endfor %}
{% endarchiveList %}

这里的moduleId用于指定内容模型,比如“文章模型”通常对应ID为1。如果您不想让列表自动获取当前页面的分类ID,可以通过设置categoryId="0"来明确排除。

此外,有时我们只想显示某个分类直接包含的文档,而不包括其子分类的文档。这时,可以结合child="false"参数来精确控制:

{% archiveList directArticles with categoryId="1" child="false" limit="10" %}
    {# 循环输出文档内容 #}
{% endarchiveList %}

根据推荐属性筛选内容

除了分类,安企CMS还提供了丰富的推荐属性(Flag),让您可以对重要或特殊的内容进行标记,并灵活地在前端展示。这些属性包括头条[h]、推荐[c]、幻灯[f]、特荐[a]、滚动[s]、加粗[h]、图片[p]和跳转[j]

例如,您想在首页展示几篇标记为“推荐”的文章,可以这样使用flag参数:

{% archiveList recommendedArticles with flag="c" moduleId="1" limit="3" %}
    {% for item in recommendedArticles %}
        <h3>{{ item.Title }}</h3>
        <p>{{ item.Description }}</p>
    {% endfor %}
{% endarchiveList %}

如果您希望排除某些推荐属性的内容,可以使用excludeFlag。而如果需要在列表中显示文档本身的推荐属性标记,则需要将showFlag参数设置为true

灵活排序与数量控制

archiveList标签还允许您对文档列表进行排序和数量限制,以满足不同场景下的展示需求:

  • 排序方式(order:您可以根据文档ID(如id desc显示最新)、浏览量(views desc显示最热门)或后台自定义排序(sort desc)来排列文档。
  • 显示数量(limit:除了指定显示固定数量(如limit="10"),您还可以使用偏移量模式(如limit="2,10",表示从第2条开始显示10条),这在一些特殊的布局或分步加载场景中非常有用。

例如,要显示浏览量最多的前5篇文章:

{% archiveList topViewsArticles with moduleId="1" order="views desc" limit="5" %}
    {% for item in topViewsArticles %}
        <li>{{ item.Title }} (浏览量:{{ item.Views }})</li>
    {% endfor %}
{% endarchiveList %}

结合自定义模型参数进行筛选:archiveFilters

对于一些更复杂的筛选需求,特别是当您的内容模型中定义了许多自定义字段(例如房产网站中的“户型”、“面积”、“价格区间”等),archiveFilters标签就显得尤为重要。

archiveFilters标签专门用于生成基于内容模型自定义参数的筛选条件。它通常与archiveList标签的type="page"(分页列表)模式配合使用。通过它,您可以构建出用户友好的筛选界面,让用户能够根据多个条件动态地过滤文档列表。

{% archiveFilters filterOptions with moduleId="2" allText="全部" %}
    {% for filterItem in filterOptions %}
        <div class="filter-group">
            <span>{{ filterItem.Name }}:</span>
            {% for option in filterItem.Items %}
                <a href="{{ option.Link }}" class="{% if option.IsCurrent %}active{% endif %}">{{ option.Label }}</a>
            {% endfor %}
        </div>
    {% endfor %}
{% endarchiveFilters %}

{% archiveList filteredProducts with type="page" moduleId="2" limit="12" %}
    {% for product in filteredProducts %}
        {# 展示产品详情 #}
        <h3>{{ product.Title }}</h3>
        <p>价格: {{ product.Price }}</p>
    {% endfor %}
{% endarchiveList %}

这里,filterOptions包含了所有可筛选的参数及其值,您可以遍历它们来生成前端的筛选链接。用户点击这些链接时,页面URL会携带相应的查询参数,archiveList便能自动识别并显示匹配的文档。

实现分页显示

当文档列表内容较多时,分页是必不可少的功能。将archiveList标签的type参数设置为"page"后,您就可以结合pagination标签来生成页码导航。

{% archiveList pagedArticles with type="page" moduleId="1" limit="10" %}
    {% for item in pagedArticles %}
        <li><a href="{{ item.Link }}">{{ item.Title }}</a></li>
    {% endfor %}
{% endarchiveList %}

{% pagination pages with show="5" %}
    <nav class="pagination">
        {% if pages.PrevPage %}<a href="{{ pages.PrevPage.Link }}">上一页</a>{% endif %}
        {% for page in pages.Pages %}
            <a href="{{ page.Link }}" class="{% if page.IsCurrent %}active{% endif %}">{{ page.Name }}</a>
        {% endfor %}
        {% if pages.NextPage %}<a href="{{ pages.NextPage.Link }}">下一页</a>{% endif %}
    </nav>
{% endpagination %}

pagination标签提供了包括首页、上一页、下一页、末页以及中间页码的完整分页数据,您可以根据需要自由构建分页导航的样式。

页面内的多列表展示

在一个页面中展示多个不同条件筛选的文档列表也是常见的需求。例如,一个首页可能需要“最新文章”、“热门产品”和“推荐服务”这几个独立的模块。此时,您只需使用多个archiveList标签,并为每个标签定义不同的变量名(例如latestArticleshotProductsfeaturedServices),然后分别设置它们的筛选条件即可。

<h2>最新文章</h2>
{% archiveList latestArticles with moduleId="1" order="id desc" limit="5" %}
    {# 循环展示最新文章 #}
{% endarchiveList %}

<h2>热门产品</h2>
{% archiveList hotProducts with moduleId="2" order="views desc" limit="4" %}
    {# 循环展示热门产品 #}
{% endarchiveList %}

通过上述这些标签和参数的灵活组合,您可以在安企CMS中构建出高度定制化、功能丰富的文档列表显示方案,从而更好地组织和呈现您的网站内容。


常见问题 (FAQ)

  1. 我能否在同一个页面上显示来自不同内容模型(如文章和产品)的文档列表? 当然可以。您只需在页面模板中使用多个archiveList标签,为每个列表指定不同的moduleId参数,并使用不同的变量名来接收数据,例如`{% archiveList articles with moduleId=”

相关文章

如何获取并显示特定单页面的全部内容及关联图片?

在安企CMS中,单页面是网站内容构成的重要部分,比如“关于我们”、“联系方式”等。有效地获取并展示这些单页面的全部内容以及关联图片,对于网站的信息传达和视觉表现至关重要。安企CMS提供了直观的后台管理和灵活的模板标签,让这一过程变得非常便捷。 ### 在后台轻松设置单页面内容和图片 首先,我们需要在安企CMS的后台管理系统中创建和编辑单页面内容。这通常在“页面资源”下的“页面管理”模块进行

2025-11-08

如何在网站上展示所有或部分单页面列表?

在网站运营中,我们经常需要展示一些独立的、内容相对固定不变的页面,例如“关于我们”、“联系方式”或者某些政策说明等。在安企CMS中,这些被称为“单页面”。有效管理和展示这些单页面,不仅能让网站结构更清晰,也能提升用户体验。 接下来,我们将一起探讨如何在网站上灵活地展示所有或部分单页面列表。 ### **一、理解单页面的创建与管理(后台操作)** 在开始前端展示之前

2025-11-08

如何获取并显示特定分类的详细信息(如描述、Banner图)?

在安企CMS中,灵活地获取并展示分类的详细信息,例如分类的描述、Banner图或缩略图,对于构建内容丰富、视觉吸引力强的网站至关重要。无论是需要在分类列表页展示简介,还是在特定页面引用某个分类的宣传图,安企CMS都提供了直观且强大的模板标签来帮助您实现这些需求。 要获取分类的详细信息,我们主要依赖于 `categoryDetail` 这个模板标签。这个标签专门设计用于提取单个分类的各项数据

2025-11-08

如何根据内容模型或父级关系显示分类列表?

安企CMS作为一款高效的企业级内容管理系统,在内容组织和展示上提供了极大的灵活性。对于许多网站来说,如何根据不同的内容模型或者分类的层级关系来展示分类列表,是一个非常普遍且重要的需求。这不仅关乎网站内容的组织结构,也直接影响到用户体验和搜索引擎优化(SEO)效果。 在安企CMS中,实现这样的展示并不复杂。系统内置的模板标签为我们提供了强大的功能,让我们能够得心应手地控制分类列表的输出

2025-11-08

如何在文章详情页显示完整的文章内容,包括懒加载图片?

安企CMS:如何在文章详情页优雅地展示完整内容与懒加载图片 在网站内容运营中,文章详情页是用户获取信息、深入了解品牌和产品的重要触点。一个设计精良、加载迅速、内容展示完整的文章详情页,不仅能极大提升用户体验,还能有效助力SEO优化。对于使用安企CMS的用户而言,充分利用其强大的模板标签系统,可以轻松实现文章内容的完整呈现,并结合现代网页技术实现图片的懒加载,让您的网站既美观又高效。 ###

2025-11-08

如何在AnQiCMS中显示带有Markdown格式的数学公式和流程图?

在内容运营中,有时我们需要展示复杂的数学公式或清晰的流程图,尤其是在技术文章、数据报告或教育内容中。AnQiCMS 凭借其强大的 Markdown 编辑器,为我们提供了实现这一需求的便利。通过简单的配置和引入必要的库文件,您就能让这些专业内容在网站前端完美呈现。 ### 启用 AnQiCMS 的 Markdown 编辑器 首先,要让 AnQiCMS 识别并处理 Markdown 格式的内容

2025-11-08

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

在浏览网站内容时,用户往往希望能够方便地在相关文章之间跳转。例如,阅读完一篇新闻或教程后,能迅速点击前往“上一篇”或“下一篇”文章,以保持阅读的连贯性。这不仅能提高用户体验,减少跳出率,对网站的内部链接结构和搜索引擎优化(SEO)也有积极作用。 安企CMS(AnQiCMS)作为一款高效的内容管理系统,提供了非常简洁直观的方式来实现这一功能。我们无需复杂的后端编程

2025-11-08

如何在文章详情页下方显示相关文章列表?

在网站运营中,文章详情页下方的“相关文章”列表是一个提升用户体验、增加页面浏览量(PV)和延长用户站内停留时间的重要功能。它能引导用户发现更多感兴趣的内容,从而增强网站的整体粘性,对搜索引擎优化(SEO)也有积极作用。在安企CMS中实现这一功能,得益于其灵活的模板系统和强大的标签功能,整个过程既直观又高效。 ### 一、理解“相关文章”的调用机制 安企CMS的模板标签是实现各种功能的核心

2025-11-08