`categoryList`标签如何仅显示当前分类下的文档,而不包含子分类的文档?

📅 👁️ 61

在使用安企CMS构建网站时,我们经常会遇到这样的需求:在一个分类页面,我们希望只展示属于当前这个分类下的文档,而不希望混入其子分类的文档内容。这在内容结构清晰、避免信息冗余的场景中尤为重要。今天,我们就来详细探讨如何通过安企CMS的模板标签,精准实现这一目标。

理解 AnQiCMS 分类与文档的关系

安企CMS在设计之初,就充分考虑了内容层级的灵活性。分类可以拥有子分类,文档则可以归属于任何一个分类。默认情况下,为了方便内容的聚合展示,文档列表标签在调用时通常会自动包含子分类中的内容。这种设计虽然在某些场景下提供了便利,但在另一些需要严格区分层级内容的场合,就需要我们进行精细化控制。

核心策略:archiveList 标签的 child 参数

要实现仅显示当前分类下文档而不包含子分类文档的目标,我们需要关注的核心是 archiveList 标签。这个标签专门用于获取文档列表,它提供了一个名为 child 的参数,正是控制这一行为的关键。

child 参数支持 truefalse 两个值:

  • child=true (默认值):表示在查询文档时,不仅会包含当前指定分类下的文档,还会递归地包含其所有子分类(包括子分类的子分类,以此类推)中的文档。
  • child=false:表示在查询文档时,将严格限定在当前指定分类内,不会获取其任何子分类中的文档。

因此,我们的解决方案就是在使用 archiveList 标签时,明确设置 child=false

让我们通过一个具体的例子来理解。假设您正在设计一个分类页面模板,希望在这个页面上仅列出当前分类下的文章。

{# 假设这是分类页面模板,我们首先需要获取当前分类的ID和标题 #}
{% categoryDetail currentCategory with name="Id" %} {# 获取当前分类的ID,并赋值给 currentCategory 变量 #}
{% categoryDetail categoryTitle with name="Title" %} {# 获取当前分类的标题,并赋值给 categoryTitle 变量 #}

<div class="category-header">
    <h1>{{categoryTitle}}</h1>
    <p>以下是“{{categoryTitle}}”分类下的所有文档(不含子分类)。</p>
</div>

<div class="document-list">
    {# 使用 archiveList 标签,并设置 categoryId 为当前分类ID,child=false 确保不包含子分类文档 #}
    {% archiveList archives with type="page" categoryId=currentCategory child=false limit="10" %}
        {% for item in archives %}
            <div class="document-item">
                <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
                <p>{{item.Description}}</p>
                <small>发布于: {{stampToDate(item.CreatedTime, "2006-01-02")}} | 浏览量: {{item.Views}}</small>
            </div>
        {% empty %}
            <p>抱歉,当前分类({{categoryTitle}})下没有找到文档。</p>
        {% endfor %}

        {# 如果需要分页,可以在此处添加分页标签 #}
        {% pagination pages with show="5" %}
            <div class="pagination-controls">
                {% if pages.PrevPage %}<a href="{{pages.PrevPage.Link}}">上一页</a>{% endif %}
                {% for p in pages.Pages %}<a href="{{p.Link}}" class="{% if p.IsCurrent %}active{% endif %}">{{p.Name}}</a>{% endfor %}
                {% if pages.NextPage %}<a href="{{pages.NextPage.Link}}">下一页</a>{% endif %}
            </div>
        {% endpagination %}
    {% endarchiveList %}
</div>

在这个示例中:

  • 我们首先使用 categoryDetail 标签获取了当前页面的分类ID(currentCategory)和标题(categoryTitle)。
  • 接着,在 archiveList 标签中,我们将 categoryId 参数设置为 currentCategory,确保文档查询限定在当前分类。
  • 最关键的一步是设置 child=false。这个参数告诉AnQi

相关文章

如何在安企CMS模板中构建多级分类导航,并判断每个分类是否有子分类?

在网站内容日益丰富的今天,一个清晰、高效的导航系统对于提升用户体验和搜索引擎优化(SEO)至关重要。特别是对于拥有大量内容或多种产品分类的网站,多级分类导航能帮助用户迅速找到所需信息,同时向搜索引擎展示网站的结构层次。安企CMS凭借其灵活强大的模板引擎,使得构建这样的导航变得简单而直观。本文将深入探讨如何在安企CMS模板中,巧妙地构建多级分类导航,并智能判断每个分类是否包含子分类

2025-11-08

`archiveParams`标签如何获取并显示某个特定名称的自定义文档参数?

在安企CMS中,内容管理不仅限于预设的标题、内容等字段,更可以通过自定义参数来丰富和扩展文档信息。当您为文章、产品或其他内容模型设置了独有的自定义字段时,如何在前端模板中准确地获取并展示这些特定名称的参数,是模板制作中常见的需求。本文将深入探讨如何利用`archiveParams`标签,灵活地获取并显示文档的自定义参数。 ### 自定义参数的设定

2025-11-08

如何在安企CMS模板中获取一个文档的所有自定义参数,并按固定顺序显示?

在网站内容管理中,我们经常需要为不同类型的信息定义独特的属性,以满足网站多样化的展示需求。安企CMS提供了强大的自定义参数功能,让您可以为文档(文章、产品等)灵活地添加额外信息。当您希望在网站前端模板中获取这些自定义参数,并按照在后台设置的固定顺序进行展示时,安企CMS内置的模板标签能够很好地帮助您实现这一点。 ###

2025-11-08

`archiveList`标签如何结合URL中的查询参数实现动态搜索和筛选?

在安企CMS中构建一个互动性强、内容易于查找的网站,动态搜索和筛选功能是不可或缺的。`archiveList`标签作为内容输出的核心工具,巧妙地结合URL查询参数,能够帮助我们实现强大的内容发现机制,让用户轻松定位到他们感兴趣的信息。 ### `archiveList`标签的核心作用 `archiveList`标签是安企CMS中用于获取和展示文档列表的关键。无论是文章

2025-11-08

如何使用`navList`标签在安企CMS模板中创建带子菜单的导航条?

在安企CMS的模板开发中,构建一个功能完善、用户友好的导航条是网站前端开发的核心任务之一。尤其是当导航需要包含多级子菜单时,安企CMS提供的`navList`标签能够帮助我们高效地实现这一需求。 ### 理解`navList`标签的核心作用 `navList`标签是安企CMS模板中专门用于获取网站导航数据,并将其呈现在页面上的工具。它允许我们从后台预先设置好的导航结构中,动态地提取出菜单项

2025-11-08

如何在`navList`循环中判断当前导航项是否为当前页面?

在网站运营中,清晰的导航结构对于提升用户体验至关重要。一个好的导航不仅能帮助访客快速找到所需信息,还能通过视觉提示(如高亮显示当前页面)指引用户,让他们始终明确自己所处的位置。在安企CMS中,实现这一功能是相当直观且高效的,这得益于其强大的模板标签系统。 ### 核心功能揭秘:`navList` 标签的 `IsCurrent`

2025-11-08

`guestbook`标签如何动态生成自定义字段的留言表单,并适配不同输入类型?

在安企CMS中管理网站留言是日常运营中常见的需求,特别是当我们需要收集特定信息时,一个能够灵活定制的留言表单就显得尤为重要。安企CMS充分考虑了这一需求,提供了强大的`guestbook`标签,让我们可以轻松动态生成包含自定义字段的留言表单,并适配多种输入类型。 ### 留言表单标签(`guestbook`)的力量 核心在于`guestbook`标签

2025-11-08

如何在安企CMS模板中显示一个文档的评论列表,包括回复和分页功能?

在安企CMS中为文档内容添加评论列表,并使其具备回复和分页功能,能够极大地提升网站的用户互动性。用户可以就特定文档发表看法、进行讨论,这不仅丰富了内容生态,也为网站带来了更多活跃度。 ### 一、显示评论列表:构建互动的基础 要在文档页面显示评论,主要依赖安企CMS内置的`commentList`标签。这个标签能帮助我们轻松地获取到与当前文档关联的评论数据。 首先

2025-11-08