新闻中心

discuz进阶教程-如何自定义等级图标

作者 / 无忧主机 时间 2014-10-21 11:50:05

现在站长的要求是越来越多了,很多奇奇怪怪的问题都会提出,比如”php虚拟主机哪家好?香港锋讯找无忧”。好了,不开玩笑了。言归正传,其实这次是一个朋友拜托无忧小编(www.51php.com)帮忙设置下discuz论坛会员的等级图标的,无忧小编心想换个图标而已,应该不难,就承接了下来。 其实等级图标在后台是不能自定义设置的,唯一可以设置的就是等级的阀值,这个是控制等级升级图标的变更,它其实就像qq的等级中四个星星代表一个月亮,如果现在等级是三个星星,再升一级后就会变成了月亮,那这个阀值其实就是4。在discuzX中默认的阀值是2,这个其实就是说一个月亮代表的是两个星星。这个具体设置的位置是:后台管理->界面->界面设置->帖子内容页中的“星星升级阀值”。 下面就说下怎么自定义等级图标: 第一步,准备图标的各等级图片 在static/image/common下有三个图片文件 star_level1.gif star_level2.gif star_level3.gif 这三个是discuzX默认的等级图标,星星,月亮和太阳。如果我们只是想更换图标只要替换这三个图标文件就可以了。 那么如果我们要深度自定义等级图标怎么办呢,比如像淘宝那样先是单心,双心,蓝钻,黄钻,皇冠,黄冠,紫冠这样呢? 我们首先上传等级图标文件到static/image/common下,文件名为 star_level1.gif star_level2.gif star_level3.gif star_level4.gif star_level5.gif star_level6.gif star_level7.gif 已经有的图标文件直接替换即可。 第二步:修改控制代码 然后修改程序文件source/function/function_forumlist.php 找到335行开始的function showstars($num)函数

function showstars($num) {

global $_G;

$return = '';

$alt = 'alt="Rank: '.$num.'"';

if(empty($_G['setting']['starthreshold'])) {

for($i = 0; $i < $num; $i++) {

$return .= '<img src="'.$_G['style']['imgdir'].'/star_level1.gif" '.$alt.' />';

}

} else {

for($i = 3; $i > 0; $i--) {

$numlevel = intval($num / pow($_G['setting']['starthreshold'], ($i - 1)));

$num = ($num % pow($_G['setting']['starthreshold'], ($i - 1)));

for($j = 0; $j < $numlevel; $j++) {

$return .= '<img src="'.$_G['style']['imgdir'].'/star_level'.$i.'.gif" '.$alt.' />';

}

}

}

return $return;

}
修改为
function showstars($num) {

global $_G;

$return = '';

$alt = 'alt="Rank: '.$num.'"';

if(empty($_G['setting']['starthreshold'])) {

for($i = 0; $i < $num; $i++) {

$return .= '<img src="'.$_G['style']['imgdir'].'/star_level1.gif" '.$alt.' />';

}

} else {

for($i = 7; $i > 0; $i--) {

$numlevel = intval($num / pow($_G['setting']['starthreshold'], ($i - 1)));

$num = ($num % pow($_G['setting']['starthreshold'], ($i - 1)));

for($j = 0; $j < $numlevel; $j++) {

$return .= '<img src="'.$_G['style']['imgdir'].'/star_level'.$i.'.gif" '.$alt.' />';

}

}

}

return $return;

}
效果如下: discuz进阶教程-如何自定义等级图标 无忧主机相关文章推荐阅读: DISNCUZX3.2关闭注册邮箱必填选项 登陆DISCUZ论坛提示消息为负数的解决方法 DISCUZ开启伪静态导致中文会员使用手机无法访问的解决方法 DISCUZ X3 论坛使用QQ账号登陆不需要再完善账号信息的方法

本文地址:https://www.51php.com/discuz/17160.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服