在帝国 CMS 8.0 的“js 调用登录模板”里想显示会员
头像,官方给出的专用函数是
eMember_UpicReturnUrl($userid,$upic,$ckf)
三个参数依次含义:
- $userid ‑ 当前用户 ID(登录后一般已经保存在 $_COOKIE['userid'] 或模板变量 $r[userid] 里)
- $upic ‑ 是否已上传头像(1=已上传,0=未上传,通常直接写 1 即可)
- $ckf ‑ 是否检测头像文件真实存在(0=不检测,速度更快;1=检测,保证返回的图片一定存在,推荐用 1)
因此,在 JS 调用登录模板里最简单的写法就是:
<img src="<?=eMember_UpicReturnUrl($r[userid],1,1)?>" alt="头像" onerror="this.src='/d/file/efupic/noavatar.jpg'"/>
说明
1. $r[userid] 是登录模板里已经拿到的当前会员 ID,也可以换成 $empire->getuserid() 等变量,只要确保是数字即可。
2. 函数返回的是完整 URL(形如 /d/file/efupic/123.jpg),直接放在 img 标签的 src 里即可。
3. 如果担心头像文件不存在,可加 onerror 指向一张默认图。
4. 头像统一保存在 /d/file/efupic/ 目录,文件名规则是「用户ID.扩展名」,所以手工拼地址也可以:
`/d/file/efupic/<?=$r[userid]?>.jpg`
但建议优先用官方函数,避免以后存储规则变动。
参考官方 8.0 更新日志 。