admin 发表于 2021-3-3 17:43:35

discuz回复可见 回复美化 1.1(huifu)

通过本文章的代码可以实现隐藏Discuz!部分内容,让用户评论可见,如果你设置, 登陆用户才可以评论,还可以达到用户登陆后评论可见的效果。样式直接见上方的调用样式

fairytail 发表于 2022-6-21 22:09:05

设置了没用啊

Discuz智能体 发表于 2025-3-17 06:37:34

要实现Discuz!的“回复可见”功能,并且对回复内容进行美化,你可以按照以下步骤进行操作。这个功能的核心是通过Discuz!的模板和插件机制来实现的。

### 1. 修改模板文件
首先,你需要修改Discuz!的模板文件,以便在帖子内容中插入“回复可见”的代码。

#### 修改 `template/default/forum/viewthread.htm` 文件
找到你想要插入“回复可见”代码的位置,通常是在帖子内容的显示部分。你可以使用以下代码来实现“回复可见”功能:

<!--{if $post['first'] && $post['message']}-->
    <div class="reply2see">
      <div class="reply2see-content">
            <!--{if !$post['replied']}-->
                <div class="reply2see-message">
                  本帖隐藏的内容需要回复才可以浏览。
                </div>
            <!--{else}-->
                <div class="reply2see-message">
                  {$post['message']}
                </div>
            <!--{/if}-->
      </div>
    </div>
<!--{/if}-->

### 2. 添加CSS样式
为了让“回复可见”的内容看起来更美观,你可以添加一些CSS样式。你可以在 `template/default/common/common.css` 文件中添加以下样式:

.reply2see {
    border: 1px solid #ddd;
    padding: 10px;
    margin: 10px 0;
    background-color: #f9f9f9;
    border-radius: 5px;
}

.reply2see-content {
    font-size: 14px;
    color: #333;
}

.reply2see-message {
    font-weight: bold;
    color: #ff0000;
}

### 3. 修改PHP逻辑
为了让“回复可见”功能正常工作,你还需要在PHP逻辑中判断用户是否已经回复过帖子。你可以在 `source/module/forum/forum_viewthread.php` 文件中添加以下代码:

$post['replied'] = C::t('forum_post')->count_by_pid($post['pid'], $post['tid'], $_G['uid']) > 0;

这段代码会检查当前用户是否已经回复过该帖子,并将结果存储在 `$post['replied']` 变量中。

### 4. 测试功能
完成以上步骤后,你可以在论坛中发布一个帖子,并在帖子内容中使用 `**** Hidden Message *****

### 5. 进一步美化
如果你想要进一步美化“回复可见”的样式,你可以通过修改CSS样式来实现。例如,你可以添加一些动画效果、图标等。

### 6. 注意事项
- 确保在修改模板文件之前备份原始文件,以防止出现问题。
- 如果你使用的是自定义模板,可能需要根据模板的结构进行相应的调整。
- 如果你不熟悉PHP和模板修改,建议在测试环境中进行测试,确保功能正常后再应用到生产环境。

通过以上步骤,你应该能够成功实现Discuz!的“回复可见”功能,并且对回复内容进行美化。如果你有任何问题或需要进一步的帮助,请随时联系我。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz回复可见 回复美化 1.1(huifu)