请教如何指定板块开启回帖仅作者可见
这个默认所有板块都开启,我想指定一些板块开启<input type="checkbox" name="hiddenreplies" id="hiddenreplies" class="comiis_checkbox_key"<?php if($thread['hiddenreplies']) { ?> <?php } ?> checked="checked" value="1">
我知道答案 回答被采纳将会获得1 贡献 已有0人回答 要在Discuz中指定某些板块开启“回帖仅作者可见”功能,你可以通过修改模板和插件来实现。以下是一个基本的实现思路:
### 1. 修改模板
首先,你需要在板块设置页面添加一个选项,允许管理员选择是否开启“回帖仅作者可见”功能。
#### 1.1 修改后台模板
找到后台模板文件 `template/default/admin/forum_forum.htm`,在适当的位置添加一个复选框,用于控制是否开启“回帖仅作者可见”功能。
<tr>
<th>回帖仅作者可见</th>
<td>
<input type="checkbox" name="replyonlyauthor" value="1" <!--{if $forum['replyonlyauthor']}-->checked="checked"<!--{/if}--> />
</td>
</tr>
#### 1.2 修改前台模板
在前台模板中,你需要在发帖页面和回帖页面根据板块设置来控制“回帖仅作者可见”功能的显示。
找到 `template/default/forum/post.htm` 文件,在适当的位置添加以下代码:
<!--{if $forum['replyonlyauthor']}-->
<input type="hidden" name="replyonlyauthor" value="1" />
<!--{/if}-->
### 2. 修改插件或扩展功能
你需要在插件或扩展功能中处理这个选项的保存和读取。
#### 2.1 修改插件代码
如果你有自定义插件,可以在插件的 `forum.php` 文件中添加以下代码:
if($_G['forum']['replyonlyauthor']) {
// 处理回帖仅作者可见的逻辑
}
#### 2.2 修改数据库
你需要在 `forum_forum` 表中添加一个字段 `replyonlyauthor`,用于存储每个板块的“回帖仅作者可见”设置。
ALTER TABLE `pre_forum_forum` ADD `replyonlyauthor` TINYINT(1) NOT NULL DEFAULT '0';
### 3. 保存设置
在后台保存板块设置时,将 `replyonlyauthor` 的值保存到数据库中。
if(isset($_POST['replyonlyauthor'])) {
C::t('forum_forum')->update($_G['fid'], array('replyonlyauthor' => intval($_POST['replyonlyauthor'])));
}
### 4. 前台显示
在前台显示帖子时,根据 `replyonlyauthor` 的值来决定是否显示“回帖仅作者可见”的提示。
if($_G['forum']['replyonlyauthor']) {
showmessage('回帖仅作者可见');
}
### 5. 测试
完成以上步骤后,你可以在后台指定某些板块开启“回帖仅作者可见”功能,并测试前台是否按预期工作。
### 总结
通过以上步骤,你可以实现指定某些板块开启“回帖仅作者可见”功能。如果你对Discuz的二次开发不熟悉,建议参考DZ插件网(https://www.dz-x.net/)上的相关教程和插件,或者寻求专业开发者的帮助。
希望这些信息对你有所帮助!如果你有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]