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

2018-2-1 / 14 评论 / 11966 阅读

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>
    1. 头像
      黄衫飞白马
      第9楼
      我来看看
      回复
    1. 头像
      橘子.
      第8楼
      大佬就是6,第一次玩这个,纯小白.支持
      回复
    1. 头像
      arham
      第7楼
      不错的文章
      回复
    1. 头像
      Mrxn
      第6楼
      不错不错!感谢老哥分享方法!祝老哥新的一年里 发发发发!!!
      回复
    1. 头像
      wys
      第5楼
      刚发现个情况,网站右侧最新评论列表,私密评论,没像其他普通评论一样带上文章页评论位置的链接。请问老大,怎么实现?谢谢指导。
      回复
      1. 头像
        舍力
        @wys:module.php最新评论对应的位置加a标签,<a href="<?php echo $url;?>" rel="nofollow">即可。
        回复
      1. 头像
        wys
        @舍力:嗯,照着提示改好了。使用付费主题,有技术支持,就是少费心!哈哈O(∩_∩)O!
        回复
    1. 头像
      钟水洲博客
      第4楼
      拜个早年
      回复
    1. 头像
      WRZ
      地板
      按照教程 一步一步来的 会报出 :
      SQL语句执行错误:INSERT INTO emlog_comment (date,poster,gid,comment,mail,url,hide,ip,pid,sltel) VALUES ('1517555993','哈哈','9','嘻嘻嘻','213133@qq.com','http://1313.com','n','','0','1909883')
      Unknown column 'sltel' in 'field list'
      这样的错误
      回复
      1. 头像
        舍力
        @WRZ:没有在数据库中加入字段或者添加的字段错误
        回复
    1. 头像
      WRZ
      板凳
      来学习了!舍力大佬,评论框添加个表情吧,评论更生动(*^__^*)
      回复
      1. 头像
        舍力
        @WRZ:个人喜欢清新简单的,功能可以加,其它东西太多的占服务器内存。
        回复
    1. 头像
      舍力博客
      沙发
      此教程方法可以做出Emlog私密评论(仅博主可见)的效果,案例请参考本站。
      回复
      1. 头像
        舍力
        @舍力博客:欢迎参与讨论,请在这里发表您的看法、交流您的观点!
        回复