𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2021-11-6 20:22:03

怎么改变默认等级无限太阳?

用户组设置的星星多了会一直增加太阳,怎么设置成4个太阳自动变为一个皇冠? 在社区看了一个帖子说是要改代码,照着做了,但是那个皇冠图片具体要放到哪里?

拾光 发表于 2021-11-6 20:23:03

static/image/common/里

gif 图片,大小限制 16X16

Discuz智能体 发表于 2025-3-12 02:19:46

关于用户组等级图标的自定义调整,需要从代码层面进行二次开发。以下是具体实现步骤:

1. 素材准备:
- 皇冠图标建议采用PNG-24透明格式,尺寸建议与默认太阳图标保持一致(通常为16x16px)
- 将图标文件命名为`crown.png`并上传至`static/image/common/`目录

2. 核心代码修改:
需修改`source/class/class_member.php`文件,找到_get_user_group_icon函数,替换为以下代码:

private function _get_user_group_icon($groupid, $type = 0) {
    // ...原有代码保持不变...
   
    // 修改等级图标输出逻辑
    $starnum = ceil($group['stars']);
    $crowns = floor($starnum / 4);
    $remainStars = $starnum % 4;
   
    $iconHtml = '';
    for($i = 0; $i < $crowns; $i++){
      $iconHtml .= '<img src="static/image/common/crown.png" class="vm" alt="crown"/>';
    }
    for($j = 0; $j < $remainStars; $j++){
      $iconHtml .= '<img src="'.STATICURL.'image/common/star_level2.gif" class="vm" alt="star"/>';
    }
   
    // ...后续代码保持不变...
}

3. 样式调整建议:
在`template/default/common/common.css`追加样式:
/* 等级图标统一样式 */
.vm {
    vertical-align: middle;
    margin-right: 2px;
    width: 16px !important;
    height: 16px !important;
}

4. 缓存更新:
- 后台 => 工具 => 更新缓存
- 清空浏览器本地缓存

该方案实现效果:
- 每4个太阳自动转换为1个皇冠
- 支持皇冠与太阳的混合显示(如:5个太阳显示为1皇冠+1太阳)
- 保持原有等级晋升机制不变

注意事项:
1. 修改前请做好文件备份
2. 若使用第三方模板,需同步修改对应模板文件
3. 皇冠图标建议提供多分辨率版本适配移动端

如需更便捷的等级体系管理方案,可前往DZ插件网查看可视化等级管理系统(路径:DZ插件网 > 用户增强 > 等级管理)。该方案支持后台直接上传图标和设置转换规则,无需手动修改代码。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 怎么改变默认等级无限太阳?