如何获取和显示特定分类的详情信息,包括描述、内容和Banner图?

📅 👁️ 62

在运营网站时,我们经常需要为不同的分类页面展示独特的内容,比如一个产品分类可能有详细的介绍和醒目的Banner图,而一个新闻分类则更侧重于简洁的描述。安企CMS提供了灵活的机制,让我们能够轻松获取并展示特定分类的详情信息,包括描述、内容和Banner图。

后端设置是基础:为分类丰富内容

在前端展示分类详情之前,我们需要在安企CMS后台为分类填充这些信息。这就像为你的分类准备好它的“名片”。

  1. 进入分类管理: 登录安企CMS后台,导航到“内容管理”菜单,然后点击“文档分类”。在这里,你可以看到所有的分类列表。
  2. 编辑或添加分类: 选择一个需要展示详细信息的分类,点击“编辑”按钮进入其详情页面;或者,你也可以添加一个新的分类。
  3. 填充关键信息:
    • 分类名称:这是分类的标题,会在前端显示。
    • 分类简介:通常用于搜索引擎优化(SEO)的description标签,也可以在页面上作为简短的介绍。
    • 分类内容:这是一个富文本编辑器,你可以在这里添加更详细的分类说明、图文内容等。
    • Banner图:在“其他参数”部分,你会找到“Banner图”选项。这里可以上传多张图片,作为分类页的轮播图或主视觉图。上传时建议使用相同尺寸的图片以保持美观。
    • 缩略图:同样在“其他参数”中,可以上传一张分类缩略图,用于在列表或其他需要小图展示的地方。

确保这些内容都已妥善填写和保存,这样前端模板才能正确地调用并展示它们。

核心标签:categoryDetail 的妙用

安企CMS提供了一个名为 categoryDetail 的模板标签,它是我们获取分类详情的强大工具。这个标签可以帮助我们获取当前访问的分类页面,或者指定ID的分类的各种信息。

获取当前页面的分类详情

当你的访客正在浏览某个分类页面时,例如“产品展示”分类,通常我们希望直接获取这个“产品展示”分类的详细信息。在这种情况下,categoryDetail 标签会智能地识别当前页面的分类,我们无需指定任何ID,直接通过 name 参数来获取对应字段。

例如,要显示当前分类的标题:

{% categoryDetail with name="Title" %}

获取指定分类的详情

有时,你可能需要在非分类页面,或者想在一个页面上展示多个分类的信息,这时就需要明确告诉 categoryDetail 标签要获取哪个分类的数据。我们可以通过 idtoken(分类的URL别名)参数来指定。

比如,如果你知道某个分类的ID是 10,想获取它的标题:

{% categoryDetail with name="Title" id="10" %}

或者,如果分类的URL别名是 about-us

{% categoryDetail with name="Title" token="about-us" %}

展示分类的描述和内容

有了 categoryDetail 标签,显示描述和内容就变得非常直接了。

显示分类描述 (Description)

分类描述通常是纯文本,直接输出即可:

<p>分类描述:{% categoryDetail with name="Description" %}</p>

如果你想将描述内容赋值给一个变量以便后续处理,也可以这样:

{% set categoryDescription = categoryDetail with name="Description" %}
<p>{{ categoryDescription }}</p>

显示分类内容 (Content)

分类内容通常包含富文本编辑器生成的HTML代码,为了让浏览器正确解析并渲染这些HTML,我们需要使用 |safe 过滤器。如果内容是Markdown格式,我们还可以选择使用 render=true 参数让系统将其转换为HTML。

<div class="category-content">
    {% set categoryContent = categoryDetail with name="Content" %}
    {{ categoryContent|safe }}
</div>

如果后台内容是Markdown格式,并希望系统自动渲染为HTML:

<div class="category-content">
    {% set categoryContent = categoryDetail with name="Content" render=true %}
    {{ categoryContent|safe }}
</div>

展示分类的Banner图和缩略图

分类的视觉元素对于提升页面美感和信息传达至关重要。

显示分类Banner图 (Images)

分类的Banner图在后台通常支持上传多张图片。categoryDetail 标签获取 Images 字段时,会返回一个图片URL的数组。我们可以遍历这个数组来显示所有Banner图,或者只取第一张作为主Banner。

遍历所有Banner图:

<div class="category-banners">
    {% categoryDetail categoryImages with name="Images" %}
    {% for imageUrl in categoryImages %}
        <img src="{{ imageUrl }}" alt="分类Banner图">
    {% endfor %}
</div>

只显示第一张Banner图: 如果只想显示第一张Banner图,并且需要判断它是否存在,可以这样做:

{% categoryDetail categoryImages with name="Images" %}
{% if categoryImages %}
    <img src="{{ categoryImages[0] }}" alt="分类主Banner图">
    {# 也可以把它作为背景图 #}
    <div class="hero-banner" style="background-image: url('{{ categoryImages[0] }}');">
        <!-- 页面其他内容 -->
    </div>
{% endif %}

显示分类缩略图 (LogoThumb)

分类缩略图通常用于在列表或其他小尺寸展示场景。Logo 通常指大尺寸的缩略图,而 Thumb 指的是经过系统处理的,尺寸更小的缩略图。

<div class="category-thumbnail">
    <img src="{% categoryDetail with name="Thumb" %}" alt="分类缩略图">
</div>
<div class="category-logo">
    <img src="{% categoryDetail with name="Logo" %}" alt="分类大图">
</div>

综合实战:构建一个分类详情页

现在,让我们把这些标签组合起来,创建一个典型的分类详情页面布局:

”`twig {# 假设这是某个分类的页面模板,如 products/list.html #} <!DOCTYPE html>

<meta charset="UTF-8">
{# 获取分类标题,并附加网站名称 #}
<title>{% tdk with name="Title" siteName=true %}</title>
{# 获取分类描述作为页面Meta Description #}
<meta name="description" content="{% categoryDetail with name="Description" %}">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% system with name="TemplateUrl" %}/css/style.css">

<header>
    {# 头部导航等通用元素 #}
</header>

<main class="container">
    <nav class="breadcrumb">
        {% breadcrumb crumbs with index="首页" %}
        <ul>
            {% for item in crumbs %}
                <li><a href="{{item.Link}}">{{item.Name}}</a></li>
            {% endfor %}
        </ul>
        {% endbreadcrumb %}
    </nav>

    <section class="category-header">
        {# 显示分类标题 #}
        <h1>{% categoryDetail with name="Title" %}</h1>

        {# 显示分类Banner图(取第一张作为主图) #}
        {% categoryDetail categoryBanners with name="Images" %}
        {% if categoryBanners %}
        <div class="main-banner">
            <img src="{{ categoryBanners[0] }}" alt="{% categoryDetail with name="Title" %} Banner">
        </div>
        {% endif %}

        {# 显示分类描述 #}
        {% set categoryDescription = categoryDetail with name="Description" %}
        {% if categoryDescription %}
        <p class="category-intro">{{ categoryDescription }}</p>
        {% endif %}
    </section>

    <section class="category-full-content">
        {# 显示分类详细内容 #}
        {% set categoryFullContent = categoryDetail with name="Content" render=true %} {# 假设后台内容可能是Markdown #}
        {% if categoryFullContent %}
        <div class="rich-text-content">
            {{ categoryFullContent|safe }}
        </div>
        {% endif %}
    </section>

    <section class="category-products-list">
        <h2>{% categoryDetail with name="Title" %} 下的文章/产品</h2>
        {# 在这里可以调用 archiveList

相关文章

如何在评论或留言表单中添加并显示验证码以防止垃圾信息?

在运营网站时,垃圾评论和恶意留言总是让人头疼的问题,它们不仅影响用户体验,还可能损害网站的专业形象。幸运的是,安企CMS提供了一种简单有效的方式来解决这个问题——那就是在评论或留言表单中添加验证码。这能大大提升网站的安全性,过滤掉大部分自动化垃圾信息。 下面,我们来详细了解如何在安企CMS中,为你的评论和留言表单添加验证码。这个过程可以分为两步,非常直观且易于操作。 ### 第一步

2025-11-08

如何获取并显示网站的友情链接列表?

在网站运营中,友情链接扮演着连接彼此、促进流量、提升搜索引擎排名的重要角色。一个维护良好、显示清晰的友情链接区域,不仅能体现网站的开放性,也能为用户提供更多有价值的跳转路径。安企CMS(AnQiCMS)为用户提供了便捷的友情链接管理功能,让您能够轻松获取并在网站上展示这些链接。 ### 管理您的友情链接:后端设置 在着手前端展示之前,我们需要确保友情链接已经在安企CMS的后台进行了配置。通常

2025-11-08

如何获取和显示指定Tag关联的所有文档列表?

在安企CMS中管理内容,除了通过分类来组织,灵活运用“标签”(Tag)功能也是提升网站内容聚合能力和用户体验的关键。标签能够将不同分类、不同模型但主题相关的文档串联起来,为访客提供更多发现内容的入口。那么,具体如何获取并展示这些与指定标签关联的所有文档列表呢?接下来,我们将深入探讨这一实用技巧。 ### 理解安企CMS的标签体系 安企CMS的标签设计非常灵活,它不依附于特定的分类或模型

2025-11-08

如何获取和显示指定文档的自定义参数(如作者、来源)?

在使用安企CMS管理您的网站内容时,您可能会发现仅仅依靠默认的标题、内容、摘要等字段无法完全满足个性化的展示需求。例如,您希望在文章详情页显示“作者”和“来源”信息,或者在产品页面展示“材质”和“尺寸”等特定参数。安企CMS提供了强大的自定义参数功能,让您可以轻松地为不同类型的文档(如文章、产品)添加、管理并显示这些个性化信息。 本文将详细介绍如何在安企CMS中获取和显示指定文档的自定义参数

2025-11-08

如何实现多级分类的嵌套显示,并在模板中判断是否有子分类?

在构建网站时,清晰、有组织的内容结构是提升用户体验和SEO表现的关键。安企CMS(AnQiCMS)凭借其灵活的内容模型和强大的模板引擎,能够帮助我们轻松实现复杂的多级分类嵌套显示,并进行子分类判断,从而创建出高度定制化的导航和内容布局。 ### 后端设置:构建分类层级 在安企CMS的后台,分类管理功能(通常位于“内容管理”下方的“文档分类”菜单)是实现多级分类的基础。 首先

2025-11-08

如何在导航菜单中集成分类列表,并在分类下显示产品文档?

在安企CMS中,将产品分类集成到导航菜单并展示其下的产品文档,是提升网站用户体验和内容组织效率的关键一步。这不仅能让访客快速找到所需信息,也有助于搜索引擎更好地理解网站结构。 要实现这一目标,我们需要在安企CMS的后台进行一些基础设置,并根据这些设置在模板文件中进行相应的代码集成。 ### 第一步:后台准备——构建内容与导航结构 在进行模板层面的集成之前

2025-11-08

如何获取和显示上一篇、下一篇文章的链接和标题?

当我们在安企CMS中管理和发布内容时,为了提升网站的用户体验和内容可发现性,通常需要在文章详情页提供导航到“上一篇”和“下一篇”文章的功能。这不仅能鼓励读者继续浏览站内内容,也能为搜索引擎优化(SEO)提供良好的内部链接结构。 安企CMS为此提供了非常简洁直观的模板标签,让我们可以轻松实现这一需求。 ### 核心功能:`prevArchive` 和 `nextArchive`

2025-11-08

如何获取和显示单页面的Logo、缩略图和幻灯片组图?

在安企CMS中,单页面(如“关于我们”、“联系我们”等)不仅可以承载丰富的文字信息,还能通过视觉元素极大地提升页面的吸引力和专业度。获取并展示单页面的Logo、缩略图和幻灯片组图,是优化页面展示效果的关键步骤。安企CMS提供了灵活的模板标签,让您轻松实现这些功能。 ### 了解单页面的视觉元素构成 在安企CMS中,每一个单页面都可以拥有专属的视觉元素,以满足不同的展示需求

2025-11-08