給Dedecms評論增加表情功能_DedeCms教程
最近用dedecms做了個站,覺得dede的評論系統(tǒng)不太好用,就自己對它進行了一番改造,增加了表情、QQ秀、ajax無刷新等功能。國內(nèi)有一大批站長用的是dede,今天我先分享下怎樣為評論加上表情。
首先大家思考一下怎樣才能讓dede評論里面顯示表情圖片?直接內(nèi)容里面寫<img src="********" />肯定是不行的,dede會在保存評論前把它轉(zhuǎn)換成普通的文本。我們要的是要保證以后能順利升級,所以盡量不改dede的系統(tǒng)文件。
現(xiàn)在換個思路,看看那些論壇,它們添加表情的時候都是添加的一個表情標記,發(fā)帖后就變成表情圖片了。看來是在保存帖子的時候?qū)Ρ砬闃擞涀隽宿D(zhuǎn)換。咱們也來依葫蘆畫瓢。
先找一個表情圖片傳到服務器上,假設是在http://www.qqsvr.com/01.gif,表情標記假設為[em01],現(xiàn)在我只要讓dede在保存評論的時候把[em01]轉(zhuǎn)換成<img src="http://www.qqsvr.com/01.gif" />就行了。
這里又涉及到2個問題,是先轉(zhuǎn)換之后再保存,還是直接保存,顯示的時候再轉(zhuǎn)換?
如果轉(zhuǎn)換之后再保存,也就是說你的數(shù)據(jù)庫里存的是<img src="http://www.qqsvr.com/01.gif" />,這個鏈接就固定了,你的表情目錄就不能變了,而且這必需改dede的系統(tǒng)文件才行。
如果是顯示的時候再轉(zhuǎn)換,那你的數(shù)據(jù)庫里就保存的是[em01]這樣的表情標記,顯示的時候根據(jù)模板規(guī)則進行轉(zhuǎn)換,非常靈活,而且不用改dede的系統(tǒng)文件,只需要改模板就行了。只是顯示一次就要轉(zhuǎn)換一次,會增加一點兒系統(tǒng)負擔。
我們用第二種方法。打開templets/plus/feedback_templet.htm,這個是dede的評論系統(tǒng)模板,我們發(fā)現(xiàn)它里面是可以直接寫php代碼的,<?php echo $row['msg']?>這里就是輸出的評論內(nèi)容。先把它改成<?php echo convertem($row['msg']) ?>。
convertem()就是轉(zhuǎn)換表情的方法,就是用它把[em01]轉(zhuǎn)換成<img>標記,現(xiàn)在我們要給這個方法寫點內(nèi)容,讓它按我們的意思來轉(zhuǎn)換。
還是這個文件,在頂部添加
<?php
function convertem($message){
$message = str_replace('[em01]','<img src="http://www.qqsvr.com/01.gif" />', $message );
return $message;
}
?>
這里的str_replace可以進行替換操作,比如str_replace(A,B,C)大概意思就是把C里面的A替換成B。
所以我們用convertem($row['msg'])就能把$row['msg']里面的[em01]給替換了。
現(xiàn)在你在評論里輸入[em01],發(fā)表,應該能看到顯示的圖片了。不過這還沒完,你總不可能讓用戶也要輸入代碼才能發(fā)表情吧?所以你還得找個合適的地方,加上
<img src="http://www.qqsvr.com/01.gif" onclick="javascript:document.getElementById('msg').value+='[em01]';" />
用戶點擊這個圖片后,會自動在評論框里加上[em01]。
這就大功告成了,其實從頭到尾只改了feedback_templet.htm這個模板就實現(xiàn)了表情功能。
附圖
給Dedecms評論增加表情功能.
- Dedecms生成百度地圖圖文教程
- 織夢dedecms生成下拉式友情鏈接列表
- DEDECMS使用拼音首字母做欄目名稱
- 織夢DEDECMS站群增強版 DedeCMS搭建站群首選
- DedeCMS Error:Tag disabled:php錯誤的完整處理方法
- dedecms編碼轉(zhuǎn)換方法 gbk轉(zhuǎn)UTF-8,UTF-8轉(zhuǎn)GBK
- 防XSS,sql注射,代碼執(zhí)行,文件包含的通用代碼
- DedeCms教程:優(yōu)化DedeCMS搜索結(jié)果
- DedeCms教程:Linux+Apache+PHP+MySQL服務器環(huán)境(CentOS篇)
- DedeCms教程:LuManager服務器管理軟件安裝DEDECMS軟件
- DedeCms教程:Ubuntu/Debian上安裝 PHP 5.3, Nginx 和 PHP-fpm
- DedeCms教程:windows server 2003 php 環(huán)境搭建