getByName(name)
forumCategoryFinder.getByName(name)
描述
根据 metadata.name
获取板块分类。
参数
name:string
- 分类的唯一标识metadata.name
。
返回值
示例
<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
获取板块分类。
参数
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)
描述
根据分页参数获取分类列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数
返回值
示例
<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
}