织梦是个很好的内容管理系统,其模型、频道、缓存功能都是十分的强大的,其文章评论也是很有特色的,因为织梦的文章评论是使用了ajax,这样即使是用的生成静态,也可以调取出最新的文章评论。
有的时候我们想单独的对某些栏目加评论,有人说使用自定义表单,其实是不好的,因为用自定义表单岂不是一篇文章就建一个自定义表单了,所以在其原文章评论的基础上修改就可以。查看一下其评论提交页,在文章页是用的ajax提交,我们可以进去详细评论页就可以看到,其action指向的文件是plus/feedback.php这个文件。
XHTML
1
2
3
4
5
6
7
他需要几个隐含值,其中action为操纵类型,send代表发布评论,comtype为comments时表示是评论,这个username 和 oldurl为我自己定义的变量,这样的目的是不让其填姓名,只填评论内容,oldurl为评论发布成功后跳转的页面,然后验证码是
XHTML
验证码:
1
2
3
验证码:
这样只要是你的action指向正确就能在任何页面进行提交了,需要说一点就是这个aid就是文章的id。在文章页可以使用{dede:field.id/}获得。
然后是获取评论,我们还是用他的ajax来获取,需要注意的就是他要包含一个js,织梦的说明文档中也说了,就是{dede:global.cfg_cmsurl/}/include/dedeajax2.js这个js。然后在文章页,article_article.htm页中加上
这个是放获取的评论内容。然后JavaScript
function LoadCommets(page)
{
var taget_obj = document.getElementById('commetcontent');
var waithtml = "
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);
1
2
3
4
5
6
7
8
9
10
11
functionLoadCommets(page)
{
vartaget_obj=document.getElementById('commetcontent');
varwaithtml="
varmyajax=newDedeAjax(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);
这个就是获取评论的js,加在包含文件的后面就可以,然后在plus/feedback_ajax.php中的GetList()函数中定义评论列表的样式,调取的内容就可以了。需要注意的是其helper(‘smiley’);等的一些小助手功能。
程序本天成,妙手偶得之!我们只是代码的搬运工!