菜单
本页目录

getByName(name)

forumCategoryFinder.getByName(name)

描述

根据 metadata.name 获取板块分类。

参数

  1. name:string - 分类的唯一标识 metadata.name

返回值

#PlateCategoryVo

示例

<div th:with="category = ${forumCategoryFinder.getByName('plate-category-foo')}">
  <a th:href="@{${category.status.permalink}}" th:text="${category.spec.displayName}"></a>
</div>

getByNames(names)

forumCategoryFinder.getByNames(names)

描述

根据一组 metadata.name 获取板块分类。

参数

  1. names:List<string> - 分类的唯一标识 metadata.name 的集合。

返回值

List<#PlateCategoryVo>

示例

<div th:with="categories = ${forumCategoryFinder.getByNames(['plate-category-foo', 'plate-category-bar'])}">
  <a th:each="category : ${categories}" th:href="@{${category.status.permalink}}" th:text="${category.spec.displayName}"></a>
</div>

list(page,size)

forumCategoryFinder.list(page,size)

描述

根据分页参数获取分类列表。

参数

  1. page:int - 分页页码,从 1 开始
  2. size:int - 分页条数

返回值

#ListResult<PlateCategoryVo>

示例

<ul th:with="categories = ${forumCategoryFinder.list(1,10)}">
  <li th:each="category : ${categories.items}">
    <a th:href="@{${category.status.permalink}}" th:text="${category.spec.displayName}"></a>
  </li>
</ul>

listAll()

forumCategoryFinder.listAll()

描述

获取所有板块分类。

参数

返回值

List<#PlateCategoryVo>

示例

<ul th:with="categories = ${forumCategoryFinder.listAll()}">
  <li th:each="category : ${categories}">
    <a th:href="@{${category.status.permalink}}" th:text="${category.spec.displayName}"></a>
  </li>
</ul>

listAsTree()

forumCategoryFinder.listAsTree()

描述

获取所有板块分类的多层级结构。

参数

返回值

List<#PlateCategoryTreeVo>

示例

<div th:with="categories = ${forumCategoryFinder.listAsTree()}">
  <ul>
    <li th:replace="~{modules/plate-category-tree :: single(categories=${categories})}" />
  </ul>
</div>
<ul th:fragment="next (categories)">
  <li th:fragment="single (categories)" th:each="category : ${categories}">
    <a th:href="@{${category.status.permalink}}">
      <span th:text="${category.spec.displayName}"> </span>
    </a>
    <th:block th:if="${not #lists.isEmpty(category.children)}">
      <th:block th:replace="~{modules/plate-category-tree :: next (categories=${category.children})}"></th:block>
    </th:block>
  </li>
</ul>

getBreadcrumbs(name)

forumCategoryFinder.getBreadcrumbs('plate-category-foo')

描述

获取分类树结构的路径节点,可以通过此方法来构建面包屑导航。

参数

  • name:string - 分类的唯一标识 metadata.name,必填。

返回值

List<#PlateCategoryVo>

示例

<div>
  <th:block th:each="category,stats : ${forumCategoryFinder.getBreadcrumbs(category.metadata?.name)}">
    <a th:href="@{${category.status.permalink}}" th:text="${category.spec.displayName}"></a>
    <span th:if="${!stats.last}">/</span>
  </th:block>
</div>

类型定义

PlateCategoryVo

{
  "metadata": {
    "name": "string",                                        // 唯一标识
    "labels": {
      "additionalProp1": "string"
    },
    "annotations": {
      "additionalProp1": "string"
    },
    "creationTimestamp": "2024-08-19T16:04:57.998191969Z",    // 创建时间
  },
  "spec": {
    "displayName": "string",                                  // 显示名称
    "slug": "string",                                         // 别名,通常用于生成 status.permalink
    "description": "string",                                  // 描述
    "cover": "string",                                        // 封面图
    "priority": 0,                                            // 排序字段
    "children": [                                             // 下级分类,分类的 metadata.name 集合
      "string"
    ]
  },
  "status": {
    "permalink": "string",                                    // 固定链接
    "plateCount": 0,                                          // 板块数
    "visiblePlateCount": 0                                    // 已发布板块数
  },
  "plateCount": 0
}

ListResult<PlateCategoryVo>

{
  "page": 0,                                   // 当前页码
  "size": 0,                                   // 每页条数
  "total": 0,                                  // 总条数
  "items": "List<#PlateCategoryVo>",           // 分类列表数据
  "first": true,                               // 是否为第一页
  "last": true,                                // 是否为最后一页
  "hasNext": true,                             // 是否有下一页
  "hasPrevious": true,                         // 是否有上一页
  "totalPages": 0                              // 总页数
}

PlateCategoryTreeVo

{
  "metadata": {
    "name": "string",                                         // 唯一标识
    "labels": {
      "additionalProp1": "string"
    },
    "annotations": {
      "additionalProp1": "string"
    },
    "creationTimestamp": "2024-08-19T16:04:57.998191969Z",    // 创建时间
  },
  "spec": {
    "displayName": "string",                                  // 显示名称
    "slug": "string",                                         // 别名,通常用于生成 status.permalink
    "description": "string",                                  // 描述
    "cover": "string",                                        // 封面图
    "priority": 0,                                            // 排序字段
    "children": [                                             // 下级分类,分类的 metadata.name 集合
      "string"
    ]
  },
  "status": {
    "permalink": "string",                                    // 固定链接
    "plateCount": 0,                                          // 板块数
    "visiblePlateCount": 0                                    // 已发布板块数
  },
  "children": "List<#PlateCategoryTreeVo>",                   // 下级分类,CategoryTreeVo 的集合
  "parentName": "string",
  "plateCount": 0
}