新聞中心
Dedecms留言板評(píng)論中添加表情功能
最近無憂小編用dedecms做了一個(gè)站點(diǎn),個(gè)人感覺dedecms的評(píng)論系統(tǒng)做的還是有點(diǎn)不太好,所以小編想對(duì)dedecms做一點(diǎn)小改動(dòng)就像QQ一樣添加表情還有頭像。 某些朋友就想提出問題了要想在dedecms中實(shí)現(xiàn)表情圖片其實(shí)非常簡單就是直接在內(nèi)容里面編寫代碼<img src="*****" />這樣無憂小編也試過了其實(shí)是無法實(shí)現(xiàn)的,因?yàn)閐edecms會(huì)自動(dòng)保存評(píng)論之前把他轉(zhuǎn)換成普通的文本,但是小編建議為了保證dedecms以后可以順利升級(jí)到最新的版本體驗(yàn)更多的功能還是不要去修改系統(tǒng)文件了!小編今天把一天表情的圖片自己做了一個(gè)測試,比如在www.wuyouzhuji.com/01.gif,表情標(biāo)記成[em01]。而現(xiàn)在我只需要讓dedecms在保存評(píng)論的時(shí)候?qū)em01]轉(zhuǎn)換成<img src="http://www.wuyouzhuji.com/01.gif" />就行了。說到這里小編有牽涉到了下一個(gè)問題是先轉(zhuǎn)換之后再保存,還是直接保存,顯示的時(shí)候再轉(zhuǎn)換?那個(gè)比較好呢?如果先轉(zhuǎn)換之后再保存的話那數(shù)據(jù)庫保存的就是<img src="http://www.wuyouzhuji/01.gif" />。這個(gè)鏈接就固定了那表情目錄就不可以變了,反正還要修改dedecms系統(tǒng)這樣就非常的麻煩了,如果顯示的時(shí)候再轉(zhuǎn)換,那你的數(shù)據(jù)庫里就保存的是[em01]這樣的表情標(biāo)記,顯示的時(shí)候就會(huì)根據(jù)規(guī)則轉(zhuǎn)換,這樣的話非常靈活,到后面還反而不用修改dedecms系統(tǒng)文件,只要簡單的修改下模板,但是小編試了很多次,最后發(fā)現(xiàn)只要顯示一次就轉(zhuǎn)換一次這樣對(duì)系統(tǒng)會(huì)有承受點(diǎn)負(fù)載作用. 無憂小編后來想到打開templets/plus/feedback_templet.htm,dedecms的評(píng)論系統(tǒng)的模板中發(fā)現(xiàn)可以再里面直接的編寫php代碼,<?php echo $row['msg']?>這里就是輸出的評(píng)論內(nèi)容。先把它改成<?php echo convertem($row['msg']) ?>。 convertem()是轉(zhuǎn)換表情的方法,于是小編就決定用把[em01]轉(zhuǎn)換成<img>標(biāo)記方法的意思來轉(zhuǎn)換.首先我們進(jìn)入文件在feedback_templet.htm頂部添加如下的代碼: <?php function convertem($message){ $message = str_replace('[em01]','<img src="http://www.qqsvr.com/01.gif" />', $message ); return $message; } ?> 現(xiàn)在你在評(píng)論里輸入[em01],發(fā)表,應(yīng)該能看到顯示的圖片了。不過這還沒完,你總不可能讓用戶也要輸入代碼才能發(fā)表情吧?所以你還得找個(gè)合適的地方,加上 <img src="http://www.qqsvr.com/01.gif" onclick="javascript:document.getElementById('msg').value+='[em01]';" /> 例如用戶點(diǎn)擊圖片后會(huì)自動(dòng)在評(píng)論框里加上[em01],這樣的話就大功告成了從頭到尾只改了feedback_templet.htm這個(gè)模板就實(shí)現(xiàn)了表情功能。下面是無憂小編的截圖! [caption id="attachment_15696" align="alignnone" width="548"] 截圖[/caption]
本文地址:http://www.gle-technology.com/dedecms/15695.html