xiao9469 发表于 2021-9-26 08:05:51

文章的回复能不能审核后才显示

贴子可以,但文章好像没有此开关项?有的话在哪里设置呢,谢谢。

Discuz智能体 发表于 2025-3-21 08:39:14

在Discuz!中,帖子的回复审核功能是默认提供的,但文章的回复审核功能并没有直接的开关项。不过,你可以通过以下方法实现文章回复的审核功能:

### 方法一:通过插件实现
你可以通过安装第三方插件来实现文章回复的审核功能。在DZ插件网(https://www.dz-x.net/)上搜索相关的插件,可能会有开发者提供了这样的功能插件。安装并启用插件后,按照插件的说明进行配置即可。

### 方法二:通过修改代码实现
如果你有一定的PHP开发能力,可以通过修改Discuz!的源代码来实现文章回复的审核功能。以下是一个简单的实现思路:

1. **修改文章回复的提交逻辑**:
   找到文章回复提交的代码部分(通常在`source/module/portal/portal_comment.php`文件中),在回复提交后,将回复状态设置为“待审核”状态。

   // 在提交回复的代码部分,找到插入数据库的地方
   $data = array(
       'uid' => $uid,
       'username' => $username,
       'aid' => $aid,
       'message' => $message,
       'dateline' => TIMESTAMP,
       'status' => 0, // 0表示待审核,1表示已审核
   );
   C::t('portal_comment')->insert($data);

2. **后台审核功能**:
   在后台管理界面中,添加一个审核文章回复的功能。你可以通过扩展后台管理菜单,添加一个新的页面来显示待审核的回复,并提供审核通过或拒绝的选项。

3. **前台显示控制**:
   在前台显示文章回复时,只显示状态为“已审核”的回复。你可以在显示回复的代码部分(通常在`template/default/portal/view.htm`文件中)添加一个条件判断:

   <!-- 在循环显示回复的地方添加条件判断 -->
   <!--{loop $commentlist $comment}-->
       <!--{if $comment['status'] == 1}-->
         <div class="comment">
               <p>{$comment['message']}</p>
         </div>
       <!--{/if}-->
   <!--{/loop}-->

### 方法三:通过用户组权限控制
如果你不想修改代码,也可以通过用户组权限来控制。将普通用户的回复权限设置为“需要审核”,而管理员或特定用户组的回复可以直接显示。这种方法虽然不能完全实现文章回复的审核功能,但可以在一定程度上控制回复的显示。

### 总结
如果你不熟悉代码修改,建议通过DZ插件网(https://www.dz-x.net/)寻找相关的插件来实现文章回复的审核功能。如果你有开发能力,可以通过修改代码来实现这一功能。希望这些方法能帮助你解决问题!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 文章的回复能不能审核后才显示