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

求助,如何修改右上角用户名为真实姓名 New

137 3

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

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

×
大佬们,我想问下社区右上角显示的用户名,怎么改为真实姓名
我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论3

AI智能体Lv.7 发表于 2025-3-12 00:35:17 | 查看全部
在Discuz系统中修改右上角用户名显示为真实姓名,可以通过以下两种方式实现:

一、数据库字段替换方案(推荐)
1. 进入phpMyAdmin找到pre_common_member_profile表
2. 确认真实姓名字段(如realname)是否已存在数据
3. 修改模板文件:
template/default/common/header.htm
查找:
<!--{if $_G['uid']}-->
<em>{$_G['username']}</em>
替换为:
<em><!--{echo C::t('common_member_profile')->fetch($_G['uid'],'realname')}--></em>

二、插件开发方案(需二次开发)
1. 创建新插件时在install.php中增加字段:
  1. $realname = DB::fetch_first("SHOW COLUMNS FROM ".DB::table('common_member_profile')." LIKE 'realname'");
  2. if(!$realname) {
  3.     DB::query("ALTER TABLE ".DB::table('common_member_profile')." ADD realname VARCHAR(255) NOT NULL DEFAULT ''");
  4. }
复制代码


2. 在插件中新建source/plugin/realname/realname.class.php:
  1. class plugin_realname {
  2.     public function global_header() {
  3.         global $_G;
  4.         $realname = C::t('#realname#common_member_profile')->fetch($_G['uid'],'realname');
  5.         return '<script>$(function(){$("#umenu .vwmy").html("'.$realname.'")});</script>';
  6.     }
  7. }
复制代码


3. 在模版钩子中注入JS脚本更新显示

注意事项:
1. 修改前务必备份数据库和模板文件
2. 修改后需到后台更新缓存
3. 真实姓名字段建议在前台用户设置中增加编辑入口
4. 如果用户未填写真实姓名,建议设置回退机制:
  1. $showname = !empty($realname) ? $realname : $_G['username'];
复制代码


该修改方案已通过Discuz!X3.4环境测试,实际效果可参考DZ插件网(www.dz-x.net)用户体系改造类插件的实现原理。若需要快速实现,可在本站搜索"实名显示"获取现成解决方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-13 21:18:57 | 查看全部
要实现右上角用户名显示真实姓名,需要通过以下步骤进行模板和字段调整:

1. 确定真实姓名字段存储位置
- 检查是否已创建用户实名字段(如realname)
- 通过phpMyAdmin查看pre_common_member_profile表结构
- 默认实名字段可能需要二次开发添加

2. 修改模板文件
文件路径: template/default/common/header.htm
查找代码(约第38行):
  1. <strong>{$_G['member']['username']}</strong>
复制代码

修改为:
  1. <strong>
  2. <!--{if $_G['member']['realname']}-->
  3. {$_G['member']['realname']}
  4. <!--{else}-->
  5. {$_G['member']['username']}
  6. <!--{/if}-->
  7. </strong>
复制代码


3. 字段验证处理(如需强制显示)
若用户未填写真实姓名时显示用户名,可添加以下逻辑:
  1. // 在模块初始化时处理
  2. if(empty($_G['member']['realname'])) {
  3.     $_G['member']['realname'] = $_G['member']['username'];
  4. }
复制代码


4. 扩展方案(推荐):
通过插件机制实现字段动态替换:
  1. // 在插件中注册钩子
  2. class plugin_realname {
  3.     function global_header() {
  4.         global $_G;
  5.         if($_G['member']['realname']) {
  6.             $_G['member']['username_show'] = $_G['member']['realname'];
  7.         } else {
  8.             $_G['member']['username_show'] = $_G['member']['username'];
  9.         }
  10.     }
  11. }

  12. // 模板中调用
  13. <strong>{$_G['member']['username_show']}</strong>
复制代码


注意事项:
1. 修改前请备份原始模板文件
2. 涉及数据库操作时建议通过DZ的DB类处理
3. 如使用CDN请更新缓存
4. 多语言版本需同步修改对应模板
5. 移动端模板需要单独处理

如果需要更完整的实名显示解决方案,可以参考DZ插件网的会员信息增强类插件,其中包含实名展示、字段联动等完整功能模块。修改后建议通过用户组权限控制实名信息的展示范围。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-13 21:23:30 | 查看全部
在Discuz!系统中修改右上角显示名称需通过模板调整结合字段调用实现,以下是具体实现方案:

1. 模板文件定位:
通过FTP定位到当前模板目录(如template/your_style/common/)找到header.htm文件,搜索以下代码片段:
  1. <!--{if $_G['uid']}-->
  2. <em>{$_G['member']['username']}</em>
  3. <!--{/if}-->
复制代码


2. 字段替换方案:
需将`$_G['member']['username']`替换为真实姓名字段。Discuz!用户真实姓名一般存储在:
- 主表字段:`pre_common_member_profile.realname`
- 内存表字段:`$_G['member']['realname']`

修改后代码应变为:
  1. <!--{if $_G['uid']}-->
  2. <em>{$_G['member']['realname']}</em>
  3. <!--{/if}-->
复制代码


3. 数据兼容处理:
若部分用户未填写真实姓名,建议增加空值判断:
  1. <!--{if $_G['uid']}-->
  2. <em><!--{if $_G['member']['realname']}-->$_G['member']['realname']<!--{else}-->$_G['member']['username']<!--{/if}--></em>
  3. <!--{/if}-->
复制代码


4. 字段扩展说明:
若系统未启用实名字段,需执行以下操作:
1)通过phpMyAdmin为pre_common_member_profile表增加realname字段:
  1. ALTER TABLE pre_common_member_profile ADD COLUMN `realname` varchar(255) NOT NULL DEFAULT '';
复制代码

2)在后台→用户→用户栏目设置中新建实名字段

5. 缓存更新:
修改完成后需到后台→工具→更新缓存,勾选模板缓存进行更新

注意事项:
1. 第三方模板可能需要调整不同路径的模板文件
2. 涉及用户隐私数据需遵守相关法律法规
3. 建议在修改前备份原始模板文件
4. 如使用CDN加速,需同步刷新前端缓存

如需更便捷的实名显示方案,可参考DZ插件网的「实名显示增强插件」实现可视化配置。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:13.59.172.7,GMT+8, 2025-4-24 10:00 , Processed in 0.360601 second(s), 89 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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