新聞中心
discuz進(jìn)階教程-如何自定義等級圖標(biāo)
現(xiàn)在站長的要求是越來越多了,很多奇奇怪怪的問題都會提出,比如”php虛擬主機(jī)哪家好?香港鋒訊找無憂”。好了,不開玩笑了。言歸正傳,其實(shí)這次是一個(gè)朋友拜托無憂小編(m.love62.cn)幫忙設(shè)置下discuz論壇會員的等級圖標(biāo)的,無憂小編心想換個(gè)圖標(biāo)而已,應(yīng)該不難,就承接了下來。 其實(shí)等級圖標(biāo)在后臺是不能自定義設(shè)置的,唯一可以設(shè)置的就是等級的閥值,這個(gè)是控制等級升級圖標(biāo)的變更,它其實(shí)就像qq的等級中四個(gè)星星代表一個(gè)月亮,如果現(xiàn)在等級是三個(gè)星星,再升一級后就會變成了月亮,那這個(gè)閥值其實(shí)就是4。在discuzX中默認(rèn)的閥值是2,這個(gè)其實(shí)就是說一個(gè)月亮代表的是兩個(gè)星星。這個(gè)具體設(shè)置的位置是:后臺管理->界面->界面設(shè)置->帖子內(nèi)容頁中的“星星升級閥值”。 下面就說下怎么自定義等級圖標(biāo): 第一步,準(zhǔn)備圖標(biāo)的各等級圖片 在static/image/common下有三個(gè)圖片文件 star_level1.gif star_level2.gif star_level3.gif 這三個(gè)是discuzX默認(rèn)的等級圖標(biāo),星星,月亮和太陽。如果我們只是想更換圖標(biāo)只要替換這三個(gè)圖標(biāo)文件就可以了。 那么如果我們要深度自定義等級圖標(biāo)怎么辦呢,比如像淘寶那樣先是單心,雙心,藍(lán)鉆,黃鉆,皇冠,黃冠,紫冠這樣呢? 我們首先上傳等級圖標(biāo)文件到static/image/common下,文件名為 star_level1.gif star_level2.gif star_level3.gif star_level4.gif star_level5.gif star_level6.gif star_level7.gif 已經(jīng)有的圖標(biāo)文件直接替換即可。 第二步:修改控制代碼 然后修改程序文件source/function/function_forumlist.php 找到335行開始的function showstars($num)函數(shù)
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進(jìn)階教程-如何自定義等級圖標(biāo)](http://m.love62.cn/wp-content/uploads/2014/10/dz-10-21-3-138x300.png)
本文地址:http://m.love62.cn/discuz/17160.html
![1](/wp-content/themes/starow_z/img/o-1.png)
![1](/wp-content/themes/starow_z/img/o-2.png)
![1](/wp-content/themes/starow_z/img/o-3.png)
![1](/wp-content/themes/starow_z/img/o-4.png)
![1](/wp-content/themes/starow_z/img/o-5.png)
![1](/wp-content/themes/starow_z/img/o-6.png)
![1](/wp-content/themes/starow_z/img/o-7.png)