博客簿

文章评论增加表单字段(可用做私密评论)

时间:4年前   阅读:2172

Emlog给文章评论表单只提供了四个默认字段,分别是昵称、邮箱、网址以及评论内容,只能满足一般 博客网站的需求,如果想要增加更多的评论字段怎么办?可以通过Emlog评论自定义字段实现,类似于文章的自定义字段功能,对应数据表是 emlog_comment加入对应的字段即可。

以字段simi为例:在数据库 emlog_comment中加入字段simi(可自定义,不能与原有字段相同,与下面的参数要一致);温馨提示:。如果是增加复选框,字段参数类型请选择[ enum ],字符长度一般是'n','y',默认值要么是n 要么是y。两种类型分类可分别参考字段添加请和 emlog_comment中poster参数与hide参数

关于input中type说明
checkbox:定义复选框
radio:定义单选按钮
txt:定义单行的输入字段,用户可在其中输入文本。默认宽度为 20 个字符。

前端评论框操作方法步骤
1、在模板文件module.php中找到评论框代码,找到合适的位置加入代码

<label><input type="checkbox" value="y" id="simi" name="simi" ><font color="red">私密(仅管理员可见)</font></label>

2、在include/model/comment_model.php文件中找到

function addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid) 
用下面代码替换
function addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid, $simi)

找到
$hide = ROLE == ROLE_VISITOR ? $ischkcomment : 'n';
后面加入代码
$simi = isset($_POST['simi']) ? $_POST['simi'] : 'n';

找到代码
$sql = 'INSERT INTO '.DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid) 
VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid')";
用下面代码替换
$sql = 'INSERT INTO '.DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid,simi) 
VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid','$simi')";


找到
function replyComment($blogId, $pid, $content, $hide) 
用下面代码替换
function replyComment($blogId, $pid, $content, $hide, $simi)

找到
$hide = ROLE == ROLE_VISITOR ? $ischkcomment : 'n';
后面加入代码
$simi = isset($_POST['simi']) ? $_POST['simi'] : 'n';

找到
$this->db->query("INSERT INTO ".DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid)
VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid')");
用下面代码替换
$this->db->query("INSERT INTO ".DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid,simi)
VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid','$simi')");

评论列表调用方法

<?php if($comment['simi']=='y'){echo '<font color="red">私密(仅管理员可见)</font>';}else{echo $comment['content'];}?>


侧边栏最新评论操作方法步骤 在根目录include/lib/cache.php中找到

'mail' => $show_com['mail'],
后面加入代码
'simi' => $show_com['simi'],

调用方法

<?php echo $value['content'];?>
用下面代码替换
<?php if($value['simi']=='y'){?><font color="red">私密(仅管理员可见)</font><?php }else{echo $value['content'];}?>


以上方法为前端方面的教程,如有疑问,可在本页留言咨询。

  后台编辑时更改的操作方法教程
1、在根目录文件admin/comment.php中找到

$url = isset($_POST['url']) ? addslashes(trim($_POST['url'])) : '';
后面添加下面代码
$simi = isset($_POST['simi']) ? addslashes(trim($_POST['simi'])) : 'n';

找到
'url' => $url,
后面添加下面代码
'simi' => $simi,

2、在admin/views/comment_edit.php及comment_reply.php文件<form></form>之间任意位置放置如下代码

<li><input type="checkbox" name="simi" value="y"<?php if($simi=='y'){echo ' checked="checked"';}?>><font color="red">仅管理员可查看</font></li>

上一篇:Emlog分类页自定义输出每页显示条数

下一篇:自定义Emlog列表页显示文章数量的方法教程分享

网友评论