Dedecms留言板评论中添加表情功能
最近高速度
小编用dedecms做了一个站点,个人感觉dedecms的评论系统做的还是有点不太好,所以小编想对dedecms做一点小改动就像QQ一样添加表情还有头像。某些朋友就想提出问题了要想在dedecms中实现表情图片其实非常简单就是直接在内容里面编写代码<img src="*****" />这样高速度
小编也试过了其实是无法实现的,因为dedecms会自动保存评论之前把他转换成普通的文本,但是小编建议为了保证dedecms以后可以顺利升级到最新的版本体验更多的功能还是不要去修改系统文件了!小编今天把一天表情的图片自己做了一个测试,比如在www.wuyouzhuji.com/01.gif,表情标记成[em01]。而现在我只需要让dedecms在保存评论的时候将[em01]转换成<img src="http://www.wuyouzhuji.com/01.gif" />就行了。说到这里小编有牵涉到了下一个问题是先转换之后再保存,还是直接保存,显示的时候再转换?那个比较好呢?如果先转换之后再保存的话那数据库保存的就是<img src="http://www.wuyouzhuji/01.gif" />。这个链接就固定了那表情目录就不可以变了,反正还要修改dedecms系统这样就非常的麻烦了,如果显示的时候再转换,那你的数据库里就保存的是[em01]这样的表情标记,显示的时候就会根据规则转换,这样的话非常灵活,到后面还反而不用修改dedecms系统文件,只要简单的修改下模板,但是小编试了很多次,最后发现只要显示一次就转换一次这样对系统会有承受点负载作用.高速度
小编后来想到打开templets/plus/feedback_templet.htm,dedecms的评论系统的模板中发现可以再里面直接的编写php代码,<?php echo $row['msg']?>这里就是输出的评论内容。先把它改成<?php echo convertem($row['msg']) ?>。 convertem()是转换表情的方法,于是小编就决定用把[em01]转换成<img>标记方法的意思来转换.首先我们进入文件在feedback_templet.htm顶部添加如下的代码:<?phpfunction convertem($message){$message = str_replace('[em01]','<img src="http://www.qqsvr.com/01.gif" />', $message );return $message;}?>现在你在评论里输入[em01],发表,应该能看到显示的图片了。不过这还没完,你总不可能让用户也要输入代码才能发表情吧?所以你还得找个合适的地方,加上<img src="http://www.qqsvr.com/01.gif" onclick="javascript:document.getElementById('msg').value+='[em01]';" /> 例如用户点击图片后会自动在评论框里加上[em01],这样的话就大功告成了从头到尾只改了feedback_templet.htm这个模板就实现了表情功能。下面是高速度
小编的截图! [caption id="attachment_15696" align="alignnone" width="548"] 截图[/caption]
本文地址:https://www.gaosudu.com/dedecms/15695.html