如何获取并显示特定分类下的所有文章?

📅 👁️ 66

在网站内容管理中,有效地组织和展示文章是提升用户体验和网站结构清晰度的关键。安企CMS提供了强大且灵活的模板标签功能,让您能够轻松地获取并显示特定分类下的所有文章。

确保内容结构清晰:后台分类设置的基石

在开始模板层面的操作之前,我们首先要确保后台的内容结构是清晰、合理的。安企CMS的分类管理功能位于“内容管理”模块下,您可以在这里创建和管理各种文章分类,例如“公司新闻”、“行业动态”或“技术教程”等。

在发布或编辑文章时,您会发现一个“所属分类”的选项,文章正是通过这个选项被归属到特定的分类之下。当您需要获取某一分类的文章列表时,系统会根据您在后台为文章指定的分类信息来进行筛选。

核心功能:使用 archiveList 标签获取文章列表

archiveList 标签是安企CMS模板中用于获取文章列表的核心工具。它功能强大,可以通过多种参数精确控制要获取的文章范围和显示方式。

要获取特定分类下的文章,关键在于使用 categoryId 这个参数。您可以在后台的“内容管理” -> “文档分类”中找到每个分类对应的ID。

此外,您还需要关注以下几个重要参数:

  • type 这个参数决定了您希望以何种形式展示文章列表。
    • 设置为 listtype="list")时,它会按照您指定的数量(通过 limit 参数)列出文章,常用于侧边栏推荐或首页文章区块。
    • 设置为 pagetype="page")时,它会为文章列表生成分页,这在分类文章页或搜索结果页等需要大量文章展示的场景非常有用。
  • limit 用于控制每页或每次显示的文章数量。例如,limit="10" 将显示10篇文章。它还支持偏移模式,如 limit="2,10" 表示从第2篇文章开始,获取10篇文章。
  • order 文章的显示顺序同样重要。您可以根据需求设置不同的排序规则:
    • order="id desc":按文章ID倒序,通常意味着最新发布的文章在前。
    • order="views desc":按文章浏览量倒序,热门文章在前。
    • order="sort desc":按后台自定义排序,允许您手动调整文章顺序。
  • moduleId 如果您管理着多个内容模型(例如同时有“文章模型”和“产品模型”),确保指定正确的 moduleId 可以避免混淆。文章模型通常默认为1。

archiveList标签内部,您会使用一个for循环来遍历获取到的每一篇文章。循环体内的每一篇文章都由一个item变量表示,您可以通过item.字段名的方式来获取文章的各种信息,例如:item.Title(标题)、item.Link(链接)、item.Description(简介)、item.Thumb(缩略图)、item.CreatedTime(发布时间)和item.Views(浏览量)等。

构建模板代码:从简单列表到分页展示

了解了这些参数后,我们来看看如何在模板中实际应用它们。

示例一:获取特定分类下的最新5篇文章(不带分页)

如果您希望在首页或侧边栏显示某个分类下的几篇最新文章,可以使用 type="list"。假设我们要获取ID为1的“公司新闻”分类下最新的5篇文章:

{# 获取ID为1的分类(例如“公司新闻”)下最新的5篇文章 #}
<div class="category-articles">
    <h2>公司新闻</h2>
    <ul>
    {% archiveList articles with categoryId="1" type="list" limit="5" order="id desc" %}
        {% for item in articles %}
            <li>
                <a href="{{ item.Link }}" title="{{ item.Title }}">
                    {# 如果有缩略图,则显示 #}
                    {% if item.Thumb %}
                        <img src="{{ item.Thumb }}" alt="{{ item.Title }}" class="article-thumb">
                    {% endif %}
                    <h3>{{ item.Title }}</h3>
                    <p class="article-desc">{{ item.Description|truncatechars:80 }}</p> {# 截取简介,避免过长 #}
                    <span class="article-date">{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                </a>
            </li>
        {% empty %}
            {# 当该分类下没有文章时显示 #}
            <li>该分类下暂无文章。</li>
        {% endfor %}
    {% endarchiveList %}
    </ul>
</div>

在这个例子中,我们还使用了 {{ stampToDate(item.CreatedTime, "2006-01-02") }} 过滤器来将时间戳格式化为易读的日期。truncatechars:80 则用于截取文章简介,使其显示不超过80个字符。

示例二:获取特定分类下的所有文章并带分页

当您需要在分类详情页显示该分类下的所有文章,并提供分页功能时,将 type 参数设置为 page,并配合 pagination 标签使用。

”`twig {# 假设我们正在一个分类详情页,会自动获取当前分类ID #} {# 如果需要指定分类,可以手动添加 categoryId=“您的分类ID” #} {% archiveList articles with type=“page” limit=“10” order=“id desc” %}

{# 列表头部可以显示当前分类的名称和描述 #}
<div class="category-header">
    <h1>{% categoryDetail with name="Title" %}</h1>
    <p>{% categoryDetail with name="Description" %}</p>
</div>

<div class="articles-list">
    {% for item in articles %}
        <div class="article-card">
            <h3><a href="{{ item.Link }}">{{ item.Title }}</a></h3>
            {% if item.Thumb %}
                <a href="{{ item.Link }}"><img src="{{ item.Thumb }}" alt="{{ item.Title }}" class="article-card-thumb"></a>
            {% endif %}
            <p>{{ item.Description }}</p>
            <div class="article-meta">
                <span>发布时间:{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                <span>浏览量:{{ item.Views }}</span>
            </div>
        </div>
    {% empty %}
        <p>该分类下暂无文章。</p>
    {%

相关文章

如何显示网站的最新文章或产品列表?

在安企CMS中管理和展示网站内容,尤其是让访客看到最新发布文章或产品的动态,是提升用户体验和网站活力的重要一环。一个动态更新的网站不仅能吸引用户持续访问,对搜索引擎优化(SEO)也大有裨益。安企CMS提供了强大且灵活的标签系统,让我们能够轻松实现这一需求。 ### 核心工具:`archiveList` 标签 要在安企CMS网站的任何页面上显示最新文章或产品列表,最核心的工具就是

2025-11-09

如何利用AnQiCMS的锚文本功能改善内部链接的显示效果?

网站的内部链接犹如一张错综复杂的地图,引导着用户和搜索引擎穿梭于各个页面之间。而这张地图上的“路标”——锚文本,其质量直接决定了导航的效率和用户体验。一个清晰、相关的锚文本不仅能提升用户点击意愿,更是搜索引擎理解页面内容和评估页面权重的重要依据。AnQiCMS作为一款高效的内容管理系统,深谙此道,提供了强大且灵活的锚文本功能,旨在帮助我们轻松改善内部链接的显示效果。 ###

2025-11-09

Sitemap和Robots.txt在内容可见性方面有何作用?

提升网站内容可见性:Sitemap 与 Robots.txt 在安企CMS中的关键作用 让网站内容被更多人看到是每个内容运营者的核心目标。在信息爆炸的互联网世界中,搜索引擎是用户发现内容的桥梁,而在这场争取搜索引擎关注的竞赛中,Sitemap(网站地图)和 Robots.txt(爬虫协议文件)是两个不可或缺的工具。对于安企CMS的用户而言,这两个工具的强大功能被整合进了系统

2025-11-09

如何为文章、分类和标签设置独立的SEO标题和描述?

在网站运营中,让您的内容在搜索引擎中脱颖而出是至关重要的一步。安企CMS(AnQiCMS)深谙此道,为用户提供了灵活且强大的SEO设置功能,让您可以为每一篇文章、每一个分类乃至每一个标签都量身定制独立的SEO标题和描述。这不仅有助于提升网站在搜索结果中的可见度,更能精确地吸引目标受众,从而提高点击率和网站流量。 接下来,我们将详细探讨如何在安企CMS中,为不同类型的内容实体设置专属的SEO信息

2025-11-09

如何显示文章或产品的详细内容页面?

在安企CMS中,文章或产品详细内容页面的展示,是网站内容运营的核心环节。一个设计精良、信息完整的详情页,不仅能有效传递内容价值,更能提升用户体验和搜索引擎友好度。安企CMS提供了强大而灵活的工具集,让我们可以轻松实现这些目标。 ### 内容的基石:内容模型与模板文件 在安企CMS中,所有文章和产品都被统一视为“内容”(archive)。它们之所以能展现出不同的形态

2025-11-09

如何显示与当前文章相关的推荐文章列表?

在网站运营中,向读者推荐相关文章是提升用户体验、延长用户停留时间以及优化SEO的重要策略。当读者阅读完一篇文章后,如果能立即看到与当前内容高度相关的推荐,无疑会大大增加他们继续探索网站的兴趣。安企CMS深知这一需求,提供了强大而灵活的功能,帮助用户轻松实现这一目标。 ### AnqiCMS中的“相关文档”功能 安企CMS的核心优势之一在于其强大的内容管理和模板标签系统

2025-11-09

如何获取并显示网站的所有分类列表?

在安企CMS中,网站分类列表是构建清晰导航、提升用户体验和优化搜索引擎排名的基石。无论是为文章、产品或其他内容模型建立分类体系,AnQiCMS 都提供了灵活而强大的工具来轻松获取并展示这些分类。 AnQiCMS 的核心理念之一就是让内容管理变得高效。它将内容组织成不同的“内容模型”,比如常见的文章模型和产品模型。每个内容模型都可以拥有独立的分类体系。理解这一点是获取分类列表的第一步

2025-11-09

如何在分类页面展示子分类,或当没有子分类时显示文章列表?

在网站运营中,分类页面的内容展示逻辑对用户体验和信息架构有着重要影响。我们常常会遇到这样的需求:当一个分类下有子分类时,优先展示这些子分类,方便用户进行更细致的导航;而如果该分类没有子分类,则直接展示该分类下的文章列表,避免页面内容为空或导航层级过深。安企CMS(AnQiCMS)提供了灵活的模板标签,可以轻松实现这种动态显示效果。 ### 理解分类页面的动态显示逻辑 要实现分类页面的智能展示

2025-11-09