如何根据特定分类ID在AnQiCMS网站上展示文档列表?

📅 👁️ 68

在AnQiCMS中,根据特定分类ID来展示文档列表是一项非常基础且常用的功能,它允许我们灵活地组织和呈现网站内容。AnQiCMS强大的模板标签系统让这项操作变得直观而高效。无论您希望在页面的特定位置手动插入某个分类的文档,还是想让整个分类页面自动展示其下的文档,系统都提供了相应的解决方案。

灵活运用archiveList标签展示文档

AnQiCMS的核心优势之一就是其丰富的模板标签。要根据分类ID来展示文档列表,我们主要会用到archiveList这个标签。这个标签允许您高度定制需要展示的文档类型、数量、排序方式,以及最重要的——来自哪个分类。

基础用法:指定分类ID

在您的AnQiCMS模板文件中,比如在首页或者某个侧边栏,您可以通过archiveList标签来指定需要展示的分类ID。例如,如果您有一个ID为10的“新闻动态”分类,并想在页面中列出该分类下的文档,可以这样编写模板代码:

{% archiveList newsArchives with categoryId="10" limit="5" %}
    {% for item in newsArchives %}
    <li>
        <a href="{{ item.Link }}">{{ item.Title }}</a>
        <span>发布日期: {{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
    </li>
    {% empty %}
    <li>暂无新闻动态。</li>
    {% endfor %}
{% endarchiveList %}

在这段代码中,categoryId="10"明确告诉AnQiCMS只获取ID为10的分类下的文档。limit="5"则限制了只显示最新的5篇文章。newsArchives是我们为获取到的文档列表指定的变量名,您可以在随后的for循环中遍历这个变量,通过item.Link获取文档链接,item.Title获取文档标题,item.CreatedTime获取发布时间(并使用stampToDate过滤器进行格式化)。{% empty %}标签则用于在列表为空时显示备用内容。

拓展用法:指定文档模型与更多信息

除了分类ID,您还可以进一步细化筛选条件。例如,如果您想展示特定分类下“产品模型”的文档,就需要加上moduleId参数。同时,您可以轻松地展示更多文档信息,如缩略图、简介和浏览量:

{% archiveList productItems with categoryId="15" moduleId="2" limit="8" order="views desc" %}
    {% for item in productItems %}
    <div class="product-card">
        <a href="{{ item.Link }}">
            {% if item.Thumb %}<img src="{{ item.Thumb }}" alt="{{ item.Title }}" />{% endif %}
            <h3>{{ item.Title }}</h3>
            <p>{{ item.Description|truncatechars:100 }}</p> {# 截取简介前100字 #}
            <span>浏览量: {{ item.Views }}</span>
        </a>
    </div>
    {% endfor %}
{% endarchiveList %}

这里,categoryId="15"指定分类,moduleId="2"表示获取产品模型的文档,order="views desc"则将产品按浏览量从高到低排序。item.Thumb用于显示缩略图,item.Description展示文档简介,并使用truncatechars过滤器进行截断。

处理分页列表

当一个分类下的文档数量较多时,分页显示是必不可少的。要实现分页,您需要将archiveList标签的type参数设置为"page",并结合pagination标签:

{% archiveList documents with categoryId="20" type="page" limit="10" %}
    {% for item in documents %}
    {# 展示文档详情,如标题、链接、简介等 #}
    <article>
        <h3><a href="{{ item.Link }}">{{ item.Title }}</a></h3>
        <p>{{ item.Description }}</p>
    </article>
    {% endfor %}
{% endarchiveList %}

{# 分页控制区域 #}
<div class="pagination-controls">
    {% pagination pages with show="5" %} {# 最多显示5个页码按钮 #}
        {% if pages.PrevPage %}<a href="{{ pages.PrevPage.Link }}">上一页</a>{% endif %}
        {% for pageItem in pages.Pages %}
            <a class="{% if pageItem.IsCurrent %}active{% endif %}" href="{{ pageItem.Link }}">{{ pageItem.Name }}</a>
        {% endfor %}
        {% if pages.NextPage %}<a href="{{ pages.NextPage.Link }}">下一页</a>{% endif %}
    {% endpagination %}
</div>

通过type="page"archiveList会返回当前页的文档和分页信息。pagination标签则负责渲染“上一页”、“下一页”以及具体的页码按钮。pages.Pages是一个数组,包含了所有可用的页码信息,可以在循环中显示出来。

利用分类模板机制实现自动化展示

AnQiCMS还提供了一种更加自动化的方式来处理分类文档列表的显示,这对于维护大量分类的网站来说尤其方便:分类模板机制

当您访问一个分类页面时,AnQiCMS会根据一定的规则自动查找并应用对应的模板文件。其中一种规则就是根据分类ID和内容模型来匹配。

自动匹配模板: 您可以在模板目录中创建形如{模型table}/list-{分类ID}.html的模板文件。例如,如果您的文章模型表格名为article,分类ID为10,那么您可以创建一个名为article/list-10.html的模板文件。当访问ID为10的文章分类页面时,AnQiCMS会自动加载并使用这个模板文件。

后台指定模板: 您也可以在AnQiCMS后台对每个分类进行编辑,在“分类模板”选项中手动指定一个模板文件。例如,您可以为某个分类指定使用custom/my-category-list.html作为其文档列表模板。这种方式让您能够为不同的分类设计完全独立的布局和样式,而无需在每个模板中重复编写archiveList标签的categoryId参数。在这些自定义的分类模板中,archiveList标签通常无需再指定categoryId,因为它会自动识别当前分类ID。

示例:article/list-10.html模板内容

假设您已经创建了article/list-10.html这个模板文件,其内容可以这样编写:

<h1>{{ categoryDetail with name="Title" }}</h1> {# 显示当前分类标题 #}
<p>{{ categoryDetail with name="Description" }}</p> {# 显示当前分类描述 #}

<div class="document-list">
    {% archiveList categoryDocuments with type="page" limit="10" %} {# 自动获取当前分类ID下的文档 #}
        {% for item in categoryDocuments %}
        <article>
            <h2><a href="{{ item.Link }}">{{ item.Title }}</a></h2>
            <time datetime="{{ stampToDate(item.CreatedTime, "2006-01-02T15:04:05Z07:00") }}">{{ stampToDate(item.CreatedTime, "2006年01月02日") }}</time>
            <p>{{ item.Description|truncatechars:150 }}</p>
        </article>
        {% endfor %}
    {% endarchiveList %}

    <div class="pagination-area">
        {% pagination pages with show="5" %}
            {# 分页代码同上 #}
        {% endpagination %}
    </div>
</div>

在这个list-10.html模板中,archiveList标签没有显式地写categoryId="10",它会智能地识别出当前页面所属的分类ID,从而自动展示该分类下的文档。这种方式极大地提高了模板的可维护性和复用性。

总而言之,无论是通过在任意模板中精确指定categoryId,还是利用AnQiCMS智能的分类模板机制,展示特定分类ID下的文档列表都变得简单高效。了解并熟练运用这些方法,将帮助您更好地管理和呈现您的网站内容。


常见问题 (FAQ)

1. 为什么我的文档列表没有显示分页? 如果您的文档列表没有显示分页,请检查archiveList标签中是否设置了type="page"参数。只有将type设置为"page"archiveList标签才会生成分页所需的数据。同时,您还需要在archiveList标签

相关文章

AnQiCMS 如何在首页显示最新发布的文章列表?

网站首页是访客抵达网站后的第一印象,及时更新的最新文章列表能够有效提升网站的活跃度和用户粘性。对于使用安企CMS(AnQiCMS)的用户来说,在首页展示最新发布的文章列表是一项基础且重要的功能,通过系统提供的灵活模板标签,可以轻松实现。 AnQiCMS 凭借其高效、可定制的特点,为用户提供了直观的模板系统。您无需深入了解复杂的后端代码,只需掌握其强大的模板标签用法

2025-11-07

如何在文档详情页显示上一篇和

在网站内容运营中,文档详情页面的用户体验至关重要。一个设计良好的页面不仅能有效展示内容,还能引导访客深入浏览更多相关信息。其中,为用户提供“上一篇”和“下一篇”的导航功能,是提升网站内部链接结构、降低跳出率并优化用户浏览路径的常用且高效的策略。这不仅有助于用户便捷地探索更多内容,也向搜索引擎传递了网站内容的关联性和深度,对SEO有着积极的促进作用。 得益于AnQiCMS强大而灵活的模板引擎

2025-11-07

怎样在`archiveList`中实现带分页功能的文档列表展示?

当我们管理网站内容时,经常会遇到这样的情况:某个分类下的文章、产品或新闻数量众多,如果把所有内容都堆砌在一个页面上,不仅会造成页面加载缓慢,影响用户体验,更会让访问者在海量信息中难以找到所需。这时候,引入分页功能就显得尤为重要了。分页能够将大量内容拆分成若干个小页面,让用户可以逐页浏览,极大地提升了网站的可用性和访问效率。 在 AnQiCMS 中,实现带分页功能的文档列表展示非常直观和灵活

2025-11-07

如何利用`archiveList`标签按指定条件(如最新、最热、推荐属性)展示文档列表?

AnQiCMS作为一个高效且灵活的内容管理系统,提供了丰富多样的内容展示方式,其中文档列表的呈现是网站运营中非常核心的一环。无论是网站首页、分类页面还是专题聚合页,我们都希望能根据不同的运营目标,动态地展示最新的文章、最受欢迎的内容,或是精心推荐的精品文档。这一切,都可以通过AnQiCMS强大的`archiveList`标签轻松实现

2025-11-07

AnQiCMS支持哪些方式对文章列表进行排序显示,例如按浏览量或发布时间?

网站内容列表的展示顺序,是影响用户体验和内容运营效果的关键因素之一。一个优秀的CMS系统,应当提供灵活的排序机制,让运营者能够根据内容特性和推广策略,自由调整文章的呈现方式。安企CMS深谙此道,为用户提供了多种文章列表排序方式,帮助您精准控制内容的曝光与流量导向。 ### 核心排序功能:`archiveList`标签的强大应用 在安企CMS中

2025-11-07

如何在AnQiCMS模板中获取并显示当前文章的详细内容?

构建一个内容丰富的网站,文章详情页无疑是核心所在。它承载着网站最具体、最有价值的信息,也是用户停留时间最长、互动最频繁的页面之一。在AnQiCMS(安企CMS)中,借助其灵活的模板引擎和丰富的标签系统,我们可以轻松地获取并优雅地展示当前文章的详细内容。 AnQiCMS的模板系统设计简洁高效,类似于Django模板语法,通过双花括号 `{{变量}}` 获取变量值,单花括号加百分号 `{% 标签

2025-11-07

AnQiCMS如何实现多级导航菜单的显示,并支持二级下拉菜单?

一个清晰、直观的导航系统是任何网站成功的关键,它能引导访问者快速找到所需信息,极大提升用户体验。AnQiCMS作为一个高效的内容管理系统,提供了灵活强大的功能来构建和管理网站的导航菜单,包括对多级结构和二级下拉菜单的完美支持。 ### 在AnQiCMS后台定义您的导航结构 在AnQiCMS中,构建多级导航菜单的第一步是在后台管理界面进行配置。您可以前往**“后台设置”**区域

2025-11-07

如何自定义AnQiCMS网站的页脚信息,如版权声明和备案号?

## 自定义AnQiCMS网站页脚信息:版权声明与备案号设置指南 网站页脚,虽然处于页面的底部,却是传递重要信息、建立品牌信任和满足法规要求不可或缺的区域。一个清晰、完整的页脚不仅能提升网站的专业度,也能为访客提供便捷的法律信息和联系方式。本文将详细介绍如何在AnQiCMS中自定义网站的版权声明、备案号以及其他您希望展示在页脚的信息。 ### 一

2025-11-07