AnQiCMS 如何获取并显示某个分类的详细信息,如分类标题、描述和缩略图?

📅 👁️ 64

在安企CMS中,获取并展示某个分类的详细信息是构建动态网站不可或缺的一部分,无论是用于创建分类列表、分类专题页,还是在文章详情页中展示所属分类的信息,安企CMS都提供了简洁而强大的模板标签来实现。

深入理解 `categoryDetail` 标签

安企CMS的模板系统采用了类似Django的语法,其中 categoryDetail 标签便是专门用于提取单个分类所有详细数据的核心工具。通过这个标签,我们可以轻松获取到分类的标题、描述、链接、图片等多种属性,从而在前端页面上灵活地进行展示。

使用 categoryDetail 标签时,你可以选择将获取到的数据赋值给一个变量以便后续使用,也可以直接输出特定字段的值。它的基本形式通常是这样的:{% categoryDetail 变量名称 with name="字段名称" id="1" %}

这个标签支持几个关键参数来帮助你精确地定位所需的分类信息:

  • id:这是最常用的参数,用于指定分类的唯一ID。当你希望获取某个特定分类的信息时,只需指定其分类ID,例如 id="5"。如果你在当前分类页面使用此标签而没有指定 id,它将自动获取当前页面的分类信息,非常方便。
  • token:如果你的网站启用了伪静态URL别名,也可以通过 token 参数来指定分类,例如 token="about-us",这通常是分类的拼音或自定义别名。
  • siteId:对于采用安企CMS多站点管理功能的用户,如果你需要调用其他站点的分类数据,可以通过指定 siteId 参数来实现。在大多数单站点情况下,这个参数无需填写。

分类详情的核心信息字段

了解了如何调用标签,接下来就是如何提取分类的具体信息了。categoryDetail 标签通过 name 参数来指定要获取的字段。以下是一些常用的字段及其用途:

  • 分类ID (Id):分类的唯一标识符。当你需要根据分类ID进行进一步操作,例如获取该分类下的文档列表时,这个字段就非常有用。

    <div>分类ID:{% categoryDetail with name="Id" %}</div>
    
  • 分类标题 (Title):分类的显示名称。这是最基本也是最重要的信息,通常用于在页面上直接呈现给用户。

    <h1>{% categoryDetail with name="Title" %}</h1>
    
  • 分类链接 (Link):分类的访问URL。通过这个链接,用户可以直接跳转到该分类的列表页或详情页。

    <a href="{% categoryDetail with name="Link" %}">{% categoryDetail with name="Title" %}</a>
    
  • 分类描述 (Description):对分类内容的简要概括。这个字段对于SEO和用户快速理解分类主旨都非常有帮助。

    <p>{% categoryDetail with name="Description" %}</p>
    
  • 分类内容 (Content):如果你的分类页面需要展示详细的文本介绍、活动说明或其他富文本内容,Content 字段就能派上用场。需要注意的是,由于它可能包含HTML内容,为了避免被系统默认转义,你通常需要配合 |safe 过滤器使用。如果内容是用Markdown编写的,还可以加上 render=true 参数进行渲染。

    <div>{% categoryDetail categoryContent with name="Content" render=true %}{{ categoryContent|safe }}</div>
    
  • 分类缩略图大图 (Logo) 和缩略图 (Thumb):为了让分类在列表或专题页展示时更具吸引力,你可以在后台为分类上传图片。Logo 通常指上传的原始尺寸或较大尺寸的图片,而 Thumb 则是系统根据后台设置自动生成的缩略图。你可以根据页面布局需求选择使用。

    <img src="{% categoryDetail with name="Logo" %}" alt="{% categoryDetail with name="Title" %}" />
    <img src="{% categoryDetail with name="Thumb" %}" alt="{% categoryDetail with name="Title" %}" />
    
  • 分类 Banner 组图 (Images):如果你的分类需要展示轮播图或多张相关图片,这个字段会返回一个图片URL数组。你需要使用 for 循环来遍历并显示这些图片。

    {% categoryDetail categoryImages with name="Images" %}
    <div class="banner-slider">
        {% for img in categoryImages %}
            <img src="{{ img }}" alt="{% categoryDetail with name="Title" %}" />
        {% endfor %}
    </div>
    
  • 上级分类ID (ParentId):当分类存在层级关系时,这个字段会显示其所属的上级分类ID,对于构建多级导航或面包屑路径非常有用。

    <div>上级分类ID:{% categoryDetail with name="ParentId" %}</div>
    
  • 分类的文档数量 (ArchiveCount):显示当前分类(及其子分类,如果后台设置为继承)下包含的文档总数。

    <span>共有 {{% categoryDetail with name="ArchiveCount" %}} 篇文章</span>
    
  • 自定义字段:安企CMS允许你在内容模型中为分类添加额外的自定义字段。这些字段也可以通过 categoryDetail 标签获取。你可以直接通过 name="你的自定义字段名" 来获取特定字段的值,或者通过 name="Extra" 获取所有自定义字段并进行遍历。

    {# 获取名为 'customAuthor' 的自定义字段 #}
    <div>自定义作者:{% categoryDetail with name="customAuthor" %}</div>
    
    {# 遍历所有自定义字段 #}
    {% categoryDetail extras with name="Extra" %}
    <div>
        {% for field in extras %}
            <div>{{ field.Name }}:{{ field.Value }}</div>
        {% endfor %}
    </div>
    

在模板中组合展示分类信息

现在,让我们将这些信息组合起来,看看如何在实际模板中构建一个完整的分类展示区域。比如,在一个分类列表页面,我们可能需要显示当前分类的标题、描述和缩略图;或者在文章详情页的侧边栏,显示当前文章所属分类的详细信息。

示例:在分类列表页面头部展示当前分类的详细信息

假设你正在编辑 category/list.htmlarticle/list.html 等分类模板文件,categoryDetail 标签在不指定ID时会自动获取当前分类。

<div class="category-header">
    {# 获取当前分类的标题 #}
    <h1>{% categoryDetail with name="Title" %}</h1>

    {# 获取当前分类的描述 #}
    <p class="category-description">{% categoryDetail with name="Description" %}</p>

    {# 如果存在分类缩略图,则显示 #}
    {% categoryDetail categoryThumb with name="Thumb" %}
    {% if categoryThumb %}
        <img src="{{ categoryThumb }}" alt="{% categoryDetail with name="Title" %}" class="category-thumbnail" />
    {% endif %}

    {# 如果存在分类Banner组图,则显示第一个作为背景图 #}
    {% categoryDetail bannerImages with name="Images" %}
    {% if bannerImages %}
        {% set pageBanner = bannerImages[0] %}
        <div class="category-banner" style="background-image: url({{ pageBanner }});"></div>
    {% endif %}
</div>

示例:在文章详情页中获取并展示特定分类的信息

假设你想在文章详情页侧边栏显示ID为10

相关文章

如何在 AnQiCMS 模板中显示特定分类下的所有文章列表?

在 AnQiCMS 中构建网站时,我们经常需要让页面内容更加灵活,以满足不同版块的展示需求。其中一个非常普遍的需求,就是如何在模板中精确地显示某个特定分类下的所有文章列表。AnQiCMS 凭借其基于 Go 语言的高效架构和类似 Django 的模板引擎语法,让这项任务变得既直观又强大。 模板文件在 AnQiCMS 中通常以 `.html` 为后缀,存放在 `/template` 目录下

2025-11-07

AnQiCMS 模板如何显示当前页面的面包屑导航路径?

在网站运营中,清晰的导航路径对于用户体验至关重要。面包屑导航(Breadcrumb Navigation)就像现实生活中的线索,它清晰地展示了用户在网站中的当前位置,让用户一目了然地知道自己身处何处,并能快速返回上一级或更高级别的页面。这不仅能帮助用户快速理解网站结构,提升用户体验,对于搜索引擎优化(SEO)也大有裨益,因为它能帮助搜索引擎更好地理解网站的层级结构。 AnQiCMS

2025-11-07

如何在 AnQiCMS 网站导航中创建支持二级下拉菜单的多级导航?

在网站运营中,清晰高效的导航系统是用户体验的关键,也是搜索引擎优化的重要一环。AnQiCMS 提供了灵活的导航设置功能,让网站管理者可以轻松创建和管理多级导航菜单,其中包括支持二级下拉菜单的功能。接下来,我们将一起了解如何在 AnQiCMS 中实现这一目标。 ### 第一步:在后台配置导航链接 首先,您需要登录 AnQiCMS 的后台管理界面,进入导航设置模块。 1.

2025-11-07

AnQiCMS 模板如何根据当前文章获取并显示相关文章列表?

在 AnQiCMS 模板中,如何智能地展示相关文章列表? 当我们发布一篇精彩的文章后,自然希望读者能继续在网站上浏览更多感兴趣的内容。这就涉及到在文章详情页底部展示“相关文章”列表的技巧了。一个优秀的相关文章推荐,不仅能有效延长用户在网站上的停留时间,提升用户体验,对网站的SEO优化和内容深度挖掘也大有裨益。安企CMS(AnQiCMS)深知这一点,并为此提供了非常简洁高效的模板标签

2025-11-07

如何在 AnQiCMS 模板中显示网站的所有单页面列表?

在网站运营中,我们经常需要创建一些独立的页面,比如“关于我们”、“联系方式”、“服务条款”或者一些专题介绍页面。这些页面通常被称为“单页面”,它们内容固定,不属于常规的文章或产品分类,但却是网站不可或缺的一部分。 当你的网站上积累了大量的单页面时,你可能会希望在一个特定的位置,例如网站底部、侧边栏,甚至是一个专门的页面上,集中展示这些单页面的列表,方便访客浏览和查找。AnQiCMS

2025-11-07

AnQiCMS 模板如何获取并显示某个单页面的详细内容和Banner图?

在安企CMS中,要获取并显示特定单页面的详细内容及其关联的Banner图,主要涉及理解单页面的管理方式和掌握模板标签的灵活运用。AnQiCMS 提供了直观的后台管理界面和强大的模板引擎,让这项工作变得简单高效。 ### 深入了解安企CMS中的单页面 安企CMS的“单页面”功能专为那些结构固定、内容相对独立、无需频繁更新的页面设计,例如“关于我们”、“联系方式”、“服务介绍”等。在后台

2025-11-07

如何在 AnQiCMS 网站中显示后台管理的友情链接列表?

在 AnQiCMS 网站中显示后台管理的友情链接列表,是一个非常实用的功能,它不仅有助于提升网站的 SEO 效果,也能为访问者提供更多有价值的外部资源。AnQiCMS 提供了一套简洁高效的机制来管理和展示这些链接,让即使是初次接触的用户也能轻松上手。 要实现友情链接的展示,我们主要分两步进行:首先,在 AnQiCMS 的后台管理系统中配置和维护友情链接;其次

2025-11-07

AnQiCMS 模板如何将文章发布时间戳格式化为易读的日期和时间?

在网站内容运营中,文章的发布时间往往是用户关注的焦点之一,它不仅影响用户阅读的兴趣,也对内容的实效性和权威性有着潜在的影响。然而,数据库中存储的时间信息通常是机器可读的时间戳格式,例如一串数字,这对于普通访问者来说是难以理解的。AnQiCMS 充分考虑到了这一点,提供了灵活的方式让您将这些时间戳转化为清晰易读的日期和时间格式,极大地提升了用户体验。 AnQiCMS在后台管理文章时

2025-11-07