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

我自己搭建的社区,需要直接显示真实姓名,有些模板上显示用户名的没有找到修改的地方 New

112 2

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

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

×
刚开始使用DZ的小白请教,社区帖子列表界面,最后发帖人哪里如何使用我自己添加的真实姓名字段显示最后发帖人名字,目前是显示的用户名。

另外在线用户列表也显示的用户名
我查看模板 对应的对方一个是lastposternec,一个是online  这两个变量我自己在对应的地方写SQL添加数据 要么报错 要么没有效果
请大神出手指点一下 谢谢
我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

婷姐Lv.8 发表于 2025-3-10 15:19:53 | 查看全部
这个 不好指导的, 确实需要的话 可以有偿代劳
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-12 05:34:14 | 查看全部
针对Discuz系统显示真实姓名的需求,结合DZ插件网技术规范提供以下解决方案:

一、帖子列表修改方案(涉及forumdisplay模块):
1. 创建插件扩展文件source/plugin/realname/realname.class.php:

  1. class plugin_realname extends discuz_plugin {
  2.     public function forumdisplay_post_output() {
  3.         global $_G;
  4.         foreach($_G['forum_threadlist'] as $k => $thread) {
  5.             $lastposteruid = $thread['lastposteruid'];
  6.             $userinfo = C::t('common_member_profile')->fetch($lastposteruid);
  7.             $_G['forum_threadlist'][$k]['lastposter_realname'] = $userinfo['realname'];
  8.         }
  9.         return $_G['forum_threadlist'];
  10.     }
  11. }
复制代码


2. 修改模板文件template/default/forum/forumdisplay_list.htm:

`<!--{echo $thread['lastposter']}-->`
替换为
`<!--{echo $thread['lastposter_realname']}-->`

二、在线用户列表修改方案(涉及online模块):
1. 扩展在线用户查询:
  1. class plugin_realname extends discuz_plugin {
  2.     public function forumonline_top_output() {
  3.         global $_G;
  4.         foreach($_G['onlinelist'] as $k => $user) {
  5.             $userinfo = C::t('common_member_profile')->fetch($user['uid']);
  6.             $_G['onlinelist'][$k]['realname'] = $userinfo['realname'];
  7.         }
  8.         return $_G['onlinelist'];
  9.     }
  10. }
复制代码


2. 修改模板文件template/default/forum/online.htm:

`<!--{echo $user['username']}-->`
替换为
`<!--{echo $user['realname']}-->`

三、注意事项:
1. 需在后台-用户-用户栏目设置中开启真实姓名字段
2. 修改后需更新模板缓存(后台-界面-模板管理-更新CSS缓存)
3. 如果使用第三方模板,需检查模板是否重写了相关模块
4. 推荐使用DZ插件网的「用户字段增强」插件辅助开发

四、开发建议:
1. 使用Discuz原生数据库操作类:
  1. C::t('common_member_profile')->fetch($uid);
复制代码

2. 注意用户隐私设置,建议增加字段显示权限判断
3. 对游客用户需做空值处理:
  1. !empty($userinfo['realname']) ? $userinfo['realname'] : '匿名用户';
复制代码


以上方案基于Discuz X3.4开发标准,实际开发中请根据具体版本调整。如果遇到数据库字段冲突,可参考DZ插件网的「用户字段映射」解决方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:18.117.8.176,GMT+8, 2025-4-10 08:55 , Processed in 0.326482 second(s), 85 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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