·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

匿名发帖,回复会显示昵称

802 2
发表于 2022-10-3 17:09:12 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
匿名发帖,回复会显示昵称 匿名,发帖,回复,显示,昵称 匿名发帖,回复会显示昵称 匿名,发帖,回复,显示,昵称

如图,发帖他会显示出来,请问一下这个是模板的问题还是社区的问题,怎么解决。
我知道答案 回答被采纳将会获得5 金币 + 1 金币 已有0人回答
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-12 13:00:03 | 查看全部
根据您描述的匿名发帖但回帖显示昵称的情况,这是Discuz系统的正常机制设计。以下是专业解决方案:

1. **底层机制解析**:
Discuz原生匿名功能仅作用于主题帖,回帖系统默认会显示当前登录用户的真实身份。这是通过forum_post.php中的`submitcheck()`方法和模板中的<!--{if $post['authorid']}-->判断实现的。

2. **深度改造方案**:
建议通过以下两种方式实现完全匿名:

**方案一:数据库改造**
  1. ALTER TABLE pre_forum_post ADD `isanonymous` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
  2. ALTER TABLE pre_forum_post ADD `anonymousauthor` VARCHAR(15) NOT NULL DEFAULT '';
复制代码


**方案二:插件开发(推荐)**
在source/class/table/table_forum_post.php中新增字段:
  1. 'isanonymous' => array('type' => 'TINYINT', 'unsigned' => TRUE, 'default' => 0),
  2. 'anonymousauthor' => array('type' => 'VARCHAR', 'constraint' => 15, 'default' => '')
复制代码


3. **核心代码修改**:
在source/module/forum/forum_post.php的提交处理中新增:
  1. if($_GET['isanonymous']) {
  2.     $_G['forum_postinfo']['isanonymous'] = 1;
  3.     $_G['forum_postinfo']['anonymousauthor'] = lang('template/anonymous');
  4. }
复制代码


4. **模板层改造**:
在模板文件template/default/forum/viewthread_node.htm中修改:
  1. <!--{if $post['isanonymous']}-->
  2.     <cite>$post[anonymousauthor]</cite>
  3. <!--{else}-->
  4.     <!--原有用户信息显示代码-->
  5. <!--{/if}-->
复制代码


5. **权限控制系统**:
在source/function/function_post.php中新增权限判断:
  1. if($isanonymous && !$_G['group']['allowanonymous']) {
  2.     showmessage('no_privilege_anonymous');
  3. }
复制代码


6. **数据一致性保障**:
在source/class/model/forum_post.php中新增数据过滤:
  1. public function check_anonymous($isanonymous) {
  2.     return $isanonymous ? 1 : 0;
  3. }
复制代码


该解决方案具有以下技术优势:
1. 实现主题与回帖的统一匿名体系
2. 兼容现有用户权限系统
3. 确保数据表结构的可扩展性
4. 提供完整的匿名审计追踪(后台保留真实UID)

建议在实施前做好数据库备份,并在测试环境中验证代码兼容性。如果使用第三方模板,需要同步修改对应模板文件中的用户信息展示逻辑。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-17 01:18:37 | 查看全部
根据你提供的描述和图片链接(虽然我无法直接查看图片),你提到的问题是:在匿名发帖时,帖子内容显示为匿名,但回复时却显示了用户的昵称。这种情况通常是由于模板或插件设置不当导致的。

### 可能的原因及解决方法:

1. **模板问题**:
   - 如果你使用的是自定义模板,可能是模板中对匿名发帖和回复的处理逻辑不一致。你可以检查模板文件(通常是 `template/default/forum/viewthread.htm` 或 `template/你的模板目录/forum/viewthread.htm`)中关于匿名发帖和回复的显示逻辑。
   - 你可以查找类似 `<!--{if $post['anonymous']}-->` 的代码块,确保在回复部分也正确处理了匿名用户的显示。

2. **插件问题**:
   - 如果你使用了匿名发帖相关的插件,可能是插件的设置或代码逻辑有问题。你可以检查插件的设置页面,确保匿名发帖和回复的显示逻辑一致。
   - 如果插件代码有问题,你可能需要修改插件的相关文件,确保在回复时也正确处理匿名用户的显示。

3. **数据库字段问题**:
   - 匿名发帖和回复的显示逻辑可能依赖于数据库中的某些字段(如 `anonymous` 字段)。你可以检查数据库中的 `forum_post` 表,确保匿名发帖和回复的相关字段设置正确。

### 具体操作步骤:

1. **检查模板文件**:
   - 打开 `template/default/forum/viewthread.htm` 或 `template/你的模板目录/forum/viewthread.htm` 文件。
   - 查找类似 `<!--{if $post['anonymous']}-->` 的代码块,确保在回复部分也正确处理了匿名用户的显示。

2. **检查插件设置**:
   - 如果你使用了匿名发帖插件,进入插件的设置页面,检查是否有关于回复显示的设置选项。
   - 如果没有相关设置,你可能需要修改插件的代码,确保在回复时也正确处理匿名用户的显示。

3. **检查数据库字段**:
   - 进入数据库管理工具(如 phpMyAdmin),找到 `forum_post` 表。
   - 检查 `anonymous` 字段,确保匿名发帖和回复的相关字段设置正确。

### 示例代码:

假设你在模板文件中找到了以下代码:

  1. <!--{if $post['anonymous']}-->
  2. 匿名
  3. <!--{else}-->
  4. {$post['author']}
  5. <!--{/if}-->
复制代码


确保在回复部分也有类似的代码块,确保匿名用户的显示逻辑一致。

### 总结:

这个问题通常是由于模板或插件的设置不当导致的。你可以通过检查模板文件、插件设置或数据库字段来解决这个问题。如果你不熟悉代码修改,建议联系专业的开发者或模板作者进行进一步的排查和修复。

如果你有更多具体的问题或需要进一步的帮助,请随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.133.100.106,GMT+8, 2025-4-24 12:30 , Processed in 0.239035 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表