国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

給Dedecms評論增加表情功能_DedeCms教程

2024-08-30 19:09:55
字體:
來源:轉載
供稿:網友

最近用dedecms做了個站,覺得dede的評論系統不太好用,就自己對它進行了一番改造,增加了表情、QQ秀、ajax無刷新等功能。國內有一大批站長用的是dede,今天我先分享下怎樣為評論加上表情。

首先大家思考一下怎樣才能讓dede評論里面顯示表情圖片?直接內容里面寫<img src="********" />肯定是不行的,dede會在保存評論前把它轉換成普通的文本。我們要的是要保證以后能順利升級,所以盡量不改dede的系統文件。

現在換個思路,看看那些論壇,它們添加表情的時候都是添加的一個表情標記,發帖后就變成表情圖片了。看來是在保存帖子的時候對表情標記做了轉換。咱們也來依葫蘆畫瓢。

先找一個表情圖片傳到服務器上,假設是在http://www.qqsvr.com/01.gif,表情標記假設為[em01],現在我只要讓dede在保存評論的時候把[em01]轉換成<img src="http://www.qqsvr.com/01.gif" />就行了。

這里又涉及到2個問題,是先轉換之后再保存,還是直接保存,顯示的時候再轉換?

如果轉換之后再保存,也就是說你的數據庫里存的是<img src="http://www.qqsvr.com/01.gif" />,這個鏈接就固定了,你的表情目錄就不能變了,而且這必需改dede的系統文件才行。

如果是顯示的時候再轉換,那你的數據庫里就保存的是[em01]這樣的表情標記,顯示的時候根據模板規則進行轉換,非常靈活,而且不用改dede的系統文件,只需要改模板就行了。只是顯示一次就要轉換一次,會增加一點兒系統負擔。

我們用第二種方法。打開templets/plus/feedback_templet.htm,這個是dede的評論系統模板,我們發現它里面是可以直接寫php代碼的,<?php echo $row['msg']?>這里就是輸出的評論內容。先把它改成<?php echo convertem($row['msg']) ?>。

convertem()就是轉換表情的方法,就是用它把[em01]轉換成<img>標記,現在我們要給這個方法寫點內容,讓它按我們的意思來轉換。

還是這個文件,在頂部添加
<?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]給替換了。

現在你在評論里輸入[em01],發表,應該能看到顯示的圖片了。不過這還沒完,你總不可能讓用戶也要輸入代碼才能發表情吧?所以你還得找個合適的地方,加上
<img src="http://www.qqsvr.com/01.gif" onclick="javascript:document.getElementById('msg').value+='[em01]';" />

用戶點擊這個圖片后,會自動在評論框里加上[em01]。

這就大功告成了,其實從頭到尾只改了feedback_templet.htm這個模板就實現了表情功能。

附圖

 給Dedecms評論增加表情功能.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎左旗| 班戈县| 荥阳市| 始兴县| 楚雄市| 成武县| 游戏| 隆尧县| 淮安市| 犍为县| 环江| 黔西| 乐陵市| 宁乡县| 芜湖县| 赫章县| 丰都县| 邵武市| 临安市| 皮山县| 蕲春县| 永登县| 武平县| 松滋市| 达日县| 卢湾区| 合肥市| 沂南县| 花莲县| 赣州市| 沾化县| 宁化县| 夹江县| 龙口市| 馆陶县| 永仁县| 安康市| 普陀区| 南阳市| 山阳县| 山阳县|