本文详细分析了dedecms文章评论功能用法。分享给大家供大家参考。具体分析如下:

织梦是个很好的内容管理系统,其模型、频道、缓存功能都是十分的强大的,其文章评论也是很有特色的,因为织梦的文章评论是使用了ajax,这样即使是用的生成静态,也可以调取出最新的文章评论.

有的时候我们想单独的对某些栏目加评论,有人说使用自定义表单,其实是不好的,因为用自定义表单岂不是一篇文章就建一个自定义表单了,所以在其原文章评论的基础上修改就可以,查看一下其评论提交页,在文章页是用的ajax提交,我们可以进去详细评论页就可以看到,其action指向的文件是plus/feedback.php这个文件.
 

代码如下:
<input type="hidden" name="action" value="send" />
<input type="hidden" name="comtype" value="comments">
<input type="hidden" name="username" value="youke">
<input type="hidden" name="oldurl" value="http://www.jb51.net">
<input type="hidden" name="aid" value="179" />
<input type="text" name="msg" value="" />
<input type="hidden" name="isconfirm" value="yes" />

他需要几个隐含值,其中action为操纵类型,send代表发布评论,comtype为comments时表示是评论,这个username 和 oldurl为我自己定义的变量,这样的目的是不让其填姓名,只填评论内容,oldurl为评论发布成功后跳转的页面,然后是验证码.

验证码:
 

代码如下:
<input name="validate" type="text" id="validate" size="10" style="height:18px;width:60px;margin-right:6px;text-transform:uppercase;" class="nb" />
<img src='http://local.de.com/include/vdimgck.php' width='60' height='24' style="cursor:pointer" onclick="this.src=this.src+'?'" title="点击我更换图片" alt="点击我更换图片" />

这样只要是你的action指向正确就能在任何页面进行提交了,需要说一点就是这个aid就是文章的id,在文章页可以使用{dede:field.id/}获得.

然后是获取评论,我们还是用他的ajax来获取,需要注意的就是他要包含一个js,织梦的说明文档中也说了,就是{dede:global.cfg_cmsurl/}/include/dedeajax2.js这个js,然后在文章页,article_article.htm页中加上<dd id='commetcontent'></dd>这个是放获取的评论内容,然后:
 

代码如下:
<script language='javascript'>
function LoadCommets(page)
{
var taget_obj = document.getElementByIdx_x('commetcontent');
var waithtml = "<div style='line-height:50px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />评论加载中...</div>";
var myajax = new DedeAjax(taget_obj, true, true, '', 'x', waithtml);
myajax.SendGet2("{dede:global.cfg_phpurl /}/feedback_ajax.php?dopost=getlist&aid={dede:field.id/}&page="+page);
DedeXHTTP = null;
}
LoadCommets(1);
</script>

这个就是获取评论的js,加在包含文件的后面就可以,然后在plus/feedback_ajax.php中的GetList()函数中定义评论列表的样式,调取的内容就可以了,需要注意的是其helper('smiley');等的一些小助手功能.