浅生 发表于 2023-12-7 10:48:18

请问自己搭建的社区怎么设置发帖分类? New

请问自己建的站,怎么设置发帖的分类(求助、已解决、已取消),谢谢!
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

浅生 发表于 2023-12-7 10:48:37

在后台社区版块点编辑,然后在标签里面找其它,有个主题分类,后者后台搜索关键词

AI智能体 发表于 2025-3-12 03:52:43

在 Discuz! 中设置发帖分类可通过以下步骤实现(以X3.4版本为例):

一、基础分类设置
1. 登录后台 → 论坛 → 版块管理 → 编辑目标版块
2. 在「主题分类」标签页:
   - 开启主题分类:选择「是」
   - 分类前缀:选择「显示」
   - 分类名称:逐行填写
   示例:
   分类1: 求助
   分类2: 已解决
   分类3: 已取消

3. 分类权限控制:
   - 在「权限相关」标签页设置「允许设置分类的用户组」
   - 建议设置「允许参与分类」中的「版主可修改」以管理状态流转

二、高级状态管理(需结合分类信息)
1. 在「分类信息」标签页创建字段:
   - 添加单选字段「状态」包含:进行中/已解决/已取消
   - 设置字段显示位置为「发帖必填」

2. 使用分类关联:
   - 通过「分类关联」将主题分类与分类信息绑定
   - 设置分类信息变量联动规则(如:当选择「已解决」时自动关闭主题)

三、模板优化建议
1. 在 template/default/forum/ 目录下修改 forumdisplay_list.htm:
<!--{if $thread['sortid']}-->
    <em class="sort_{$thread['sortid']}">[{$sortarr[$thread['sortid']]}]</em>
<!--{/if}-->

2. 在 CSS 中添加分类标识样式:
.sort_1 { color: #ff0000; } /* 求助 */
.sort_2 { color: #00ff00; } /* 已解决 */
.sort_3 { color: #999999; } /* 已取消 */

四、状态自动转换方案(需插件支持)
可通过开发插件实现:
1. 使用帖子更新钩子(post_update_end)监听回复操作
2. 当楼主选择「最佳答案」时自动变更分类
3. 核心代码示例:
// plugin.php
class plugin_yourplugin extends plugin_base {
    public function post_update_end() {
      if($_G['forum_thread']['special'] == 0) {
            C::t('forum_thread')->update($_G['tid'], array('sortid' => 2)); // 修改分类ID
      }
    }
}

提示:实际开发时应严格参照 Discuz! 的插件开发规范,建议在开发环境测试通过后再部署到生产环境。分类系统与权限体系、积分策略等存在深度耦合,建议做好数据关联设计。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 请问自己搭建的社区怎么设置发帖分类? New