目前akcms没有留言本功能,本文是将文章评论做成留言本功能;文章的评论目前只有username,message两个字段,一般留言本还需要增加比如电话,邮箱等字段,这里就需要增加字段。
第一步:先确定你留言所需字段,比如我就需要: 姓名、电话号码、邮箱、内容四个字段
第二步:打开您的mysql数据库,评论表ak_comments,发现目前有字段username message 和我上面的 姓名 内容 对应,我需要的电话号码 邮箱 没得。于是手动建立。如下图:
Update:2016-03-20
phone的字段类型不要再选择上图,在新akcms版本中不行,可以选个text类型。
第三步:打开fore/comment.php,如下图,红框部分就是我根据新增字段 对应添加的内容:
第四步:在你的前台模板新建一个,guestbook.htm 内容如下,注意js、html代码中涉及到字段:
function submitcontent() {
var username = $("#username").val();
var phone = $("#phone").val();
var email = $("#email").val();
var comment = $("#comment").val();
$.ajax({
url: "/akcms_comment.php",
type: 'POST',
dataType: 'text',
data: {itemid:,username:username,phone:phone,email:email,comment:comment},
timeout: 5000,
error: function(){
alert('Error');
},
success: function(str) {
if(str == "0") {
alert("您的留言已经成功提交!");
window.location.reload();
} else {
alert("非常抱歉,出现错误,错误号:" + str);
}
}
});
}
字段内容的读取: | [username] [phone] [email] [message] |
"}>
您的姓名: | |
电话号码: | |
您的邮箱: | |
留言内容: | |
第五步:在你的后台“页面” 新建一个“在线留言”,对应模板guestbook.htm
点击预览就可以看到留言本地址了。
到此,基本就实现了你想要什么字段,就如此这般添加对应的字段,是在评论表里面添加,所以这些字段也是可以用在文章的评论里的。刚刚新建页面“在线留言”实际上就是为了获得一个文章id吧,我们把在这个页面的全部评论就当成了全站的留言,反正用户不晓得。
第六步:在后台的评论管理页面,如何显示这些新增字段。
打开页面admincp.php,搜索if(!in_array($comment['itemid'], $items)) $items[] = $comment['itemid'],这段代码很乱。这句{$lan['name']}:".htmlspecialchars($comment['username'])." | 后面添加 :电话号码:".htmlspecialchars($comment['phone'])." |
电子邮箱:".htmlspecialchars($comment['email'])." |
就把新增的字段在后台添加了。
以上提供的是一个思路。不过很遗憾,目前ak评论不能分页,我曾经付费让akcms开发者馒头写了分页,但那分页代码我不知道如何分离出来。目前akcms已经升级到5.0.3版本,根据馒头说,他会将评论作为插件独立出来,到时候应该有个完善的解决方案。
**Update by 2013.04.21
若按照以上方法制作出的留言本在提交留言时报错,请检查下你的设置:**