一、系统概述
1.1 功能说明
本系统通过 Discuz 分类信息功能,实现文档帖子在目录树和版块列表页的统一排序,确保两处展示顺序一致。
1.2 核心配置
| 配置项 |
说明 |
值 |
| 分类信息 |
文档管理 |
sortid=5 |
| 排序权重 |
控制帖子排序 |
optionid=21 (sort_order) |
| 配置帖标识 |
判断是否为配置帖 |
optionid=22 (is_config) |
| 目录树展示 |
配置帖是否展示在目录树 |
optionid=23 (show_in_tree) |
选项值说明:
- is_config:
配置文档 / 普通文档
- show_in_tree:
展示在目录 / 不展示
1.3 帖子分类逻辑
---
markmap:
colorFreezeLevel: 2
initialExpandLevel: 3
---
# 帖子类型判断流程
## 帖子置顶状态 (displayorder > 0)
### 是配置帖 (is_config = 配置文档)
#### show_in_tree = 展示在目录
- 展示在 0 级目录(可控制)
#### show_in_tree = 不展示
- 不展示在目录树(隐藏配置)
### 非配置帖 (is_config = 普通文档)
- 自动展示在 0 级目录(置顶说明帖)
## 普通帖子 (displayorder = 0)
- 按 sort_order 排序归入对应目录
二、发帖操作指南
2.1 发布置顶说明帖(0 级目录)
适用场景:发布版块说明、使用指南、公告等需要展示在顶级目录的帖子
操作步骤:
---
markmap:
colorFreezeLevel: 2
initialExpandLevel: 3
---
# 发表置顶配置帖流程
## 1. 开始
- 点击"发表帖子"
## 2. 选择分类
- 选择分类信息:**文档管理**
## 3. 设置选项
### 排序权重 (sort_order)
- 设置为:`0`(或不填,置顶帖排序优先级高)
### 是否为配置帖 (is_config)
- 选择:**普通文档**
### 是否展示在目录树 (show_in_tree)
- 设置为:`不展示`(此项对非配置帖无效,可不填)
## 4. 置顶设置
- 设置**置顶**:选择"显示置顶"
## 5. 完成发布
- 填写帖子标题和内容
- 发布
效果:帖子自动展示在目录树 0 级目录(最顶层)
2.2 发布配置帖
适用场景:发布目录配置帖(使用 [DIR] 前缀和 [doc_directory] 标签的配置内容)
操作步骤:
flowchart TD
A[开始] --> B[点击 发表帖子]
B --> C[选择分类信息:文档管理]
C --> D[设置各选项]
D --> D1[排序权重 sort_order: 0 或不填]
D --> D2[是否为配置帖 is_config: 配置文档]
D --> D3[是否展示在目录树 show_in_tree]
D3 --> D3a{选择展示方式}
D3a -->|展示在目录 | D3a1[配置帖展示在 0 级目录]
D3a -->|不展示 | D3b1[配置帖不展示 仅配置作用]
D1 --> E[设置置顶:显示置顶]
D2 --> E
D3a1 --> E
D3b1 --> E
E --> F[设置帖子标题 建议使用 DIR 前缀标识]
F --> G[帖子内容 使用 doc_directory 标签 定义目录结构]
G --> H[结束]
style A fill:#e1f5fe
style H fill:#e8f5e9
style B fill:#fff3e0
style C fill:#fff3e0
style F fill:#fce4ec
style G fill:#fce4ec
配置帖内容示例:
[doc_directory]
1 = 开发维护 = 网站开发维护
1-1 = 社创开发 = 社创官网和社区开发
1-2 = 利智官网 = 北京利智官网
2 = 产品文档 = 产品相关文档
[posts]
社创开发 = tid:118,tid:140,tid:137
[/posts]
[/doc_directory]
效果:
- show_in_tree=1:配置帖展示在 0 级目录
- show_in_tree=0:配置帖不展示在目录树
2.3 发布普通文档帖
适用场景:发布具体的文档内容帖子
操作步骤:
flowchart TD
A[开始] --> B[点击 发表帖子]
B --> C[选择分类信息:文档管理]
C --> D[设置各选项]
D --> D1[排序权重 sort_order]
D1 --> D1a[填写数字]
D1a --> D1b[数字越小越靠前]
D1b --> D1c[例:1 2 3]
D1c --> D1d[不填则默认 99 排在最后]
D --> D2[是否为配置帖 is_config: 普通文档]
D --> D3[是否展示在目录树 show_in_tree: 不展示]
D3 --> D3a[此项对普通帖子无效 可不填]
D1d --> E[不需要置顶 保持默认]
D2 --> E
D3a --> E
E --> F[添加标签:#目录_xxx]
F --> F1[xxx 与配置帖中的标签名一致]
F1 --> G[填写帖子标题和内容]
G --> H[发布]
H --> I[结束]
style A fill:#e1f5fe
style I fill:#e8f5e9
style B fill:#fff3e0
style C fill:#fff3e0
style H fill:#4caf50,color:#fff
style F fill:#fce4ec
三、编辑帖子操作
flowchart TD
subgraph S1[3.1 修改帖子排序]
A1[进入帖子] --> A2[点击 编辑]
A2 --> A3[在分类信息区域修改排序权重 sort_order]
A3 --> A4[提交保存]
A4 --> A5[完成 排序同步更新]
end
style A1 fill:#e1f5fe
flowchart TD
subgraph S2[3.2 切换帖子类型]
B1{选择切换方向}
B1 -->|普通改配置 | B2[进入帖子 点击 编辑]
B2 --> B3[修改 is_config 为 配置文档]
B3 --> B4[设置置顶状态]
B4 --> B5[提交保存]
B1 -->|配置改普通 | B6[进入帖子 点击 编辑]
B6 --> B7[修改 is_config 为 普通文档]
B7 --> B8[取消置顶状态]
B8 --> B9[提交保存]
end
style B1 fill:#fff3e0
flowchart TD
subgraph S3[3.3 控制配置帖展示]
C1[进入配置帖] --> C2[点击 编辑]
C2 --> C3[修改 show_in_tree 为 不展示]
C3 --> C4[提交保存]
C4 --> C5[完成 配置功能仍有效]
end
style C1 fill:#e8f5e9
四、批量操作
flowchart TD
subgraph S4[4.1 批量修改排序]
D1[进入版块帖子列表] --> D2[勾选需要修改的帖子]
D2 --> D3[点击 批量管理]
D3 --> D4[选择 移动帖子 或其他操作]
D4 --> D5[完成]
D5 --> D6[注意 分类信息需单独编辑]
end
style D1 fill:#fce4ec
flowchart TD
subgraph S5[4.2 批量迁移现有帖子]
E1[访问迁移脚本 URL] --> E2[脚本自动初始化分类信息]
E2 --> E3[执行完成]
E3 --> E4[删除脚本]
E2 --> E5{帖子类型判断}
E5 -->|DIR 开头置顶帖 | E5a[is_config=配置文档<br/>show_in_tree=展示在目录<br/>sort_order=0]
E5 -->|其他置顶帖 | E5b[is_config=普通文档<br/>sort_order=0]
E5 -->|普通帖子 | E5c[is_config=普通文档<br/>sort_order=99<br/>show_in_tree=不展示]
end
style E1 fill:#f3e5f5
五、常见问题
Q1:帖子在目录树中找不到?
检查项:
- 帖子是否添加了正确的标签(如
#目录_社创开发)
- 配置帖中是否定义了该标签对应的目录
- 帖子是否被错误地设置为配置帖(is_config=配置文档 会变成 0 级目录)
Q2:目录树和版块列表页排序不一致?
检查项:
- 确认帖子是否设置了 sort_order 值
- 确认置顶状态是否正确
- 清除缓存后重试
Q3:配置帖修改后目录树没有更新?
检查项:
- 清除论坛缓存
- 确认配置帖内容格式正确
- 确认配置帖是否为置顶状态
Q4:如何隐藏配置帖本身?
操作方法:
- 编辑配置帖
- 将 是否展示在目录树 (show_in_tree) 设置为"否"
- 提交保存
Q5:sort_order 值相同怎么办?
处理方式:
- sort_order 相同的帖子,按发帖时间排序
- 建议为每个帖子设置唯一的 sort_order 值
六、权限说明
6.1 权限控制
| 操作 |
版主 |
管理员 |
普通用户 |
| 设置 sort_order |
✓ |
✓ |
✓ |
| 设置 is_config |
✗ |
✓ |
✗ |
| 设置 show_in_tree |
✗ |
✓ |
✗ |
| 编辑他人帖子分类信息 |
✓ |
✓ |
✗ |
注意:show_in_tree 和 is_config 建议设置为仅管理员可修改,避免配置混乱
七、最佳实践
7.1 排序值规划建议
sort_order 值范围建议:
置顶说明帖:0
配置帖:0
普通文档帖:10, 20, 30, 40...(预留间隔,方便后续插入)
7.2 配置帖管理建议
- 固定配置帖:每个版块只设置一个配置帖
- 标识清晰:配置帖标题使用
[DIR] 前缀
- show_in_tree=0:配置帖建议设置为不展示,保持目录简洁
- 定期备份:配置帖内容定期备份,避免误删
7.3 标签命名规范
推荐格式:#目录_分类名
示例:
#目录_开发维护
#目录_产品文档
#目录_用户手册
#目录_技术手册
八、附录
8.1 数据表结构
pre_forum_typeoptionvar:存储分类信息值
pre_forum_typeoption:分类信息选项定义
pre_forum_thread:帖子表
文档版本:1.0
更新日期:2026-02-28