织梦是个很好的内容管理系统,其模型、频道、缓存功能都是十分的强大的,其文章评论也是很有特色的,因为织梦的文章评论是使用了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.521php.com"
>
<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
.
getElementById
(
'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’);等的一些小助手功能。