极致cms标签

极致jizhiCMS模板评论功能的使用详解

评论功能

极致jizhiCMS模板评论功能的使用详解

评论条数统计

内容页

{fun M('comment')->getCount(['isshow'=>1,'aid'=>$jz['id'],'tid'=>$jz['tid']])}

指定用户(用户ID=1)评论条数

{fun M('comment')->getCount(['isshow'=>1,'userid'=>1])}

评论封装

注意:需要引入 layui 和 jQuery,当前模块封装的是内容页变量,其他页面请自行修改!!!

  <div class="comment-area section-space--pt_60 section-space--pb_100">
	<div class="container">
	<div class="row comment-area section-space--pt_60">
	  <div class="m-auto">
		<div class="comment-list-wrapper">
		  <h3 class="widget-title mb-30">评论 (<span id="jz_comment_num">{$jz['comment_num']}</span>)</h3>
		  <ol class="comment-list" id="jz_comment_list">
			
		  </ol>
		  <div class="comment-page-bar">
		  <span class="comment-page" onclick="prevmessagelist()" >上一页</span>
		  <span class="comment-page" onclick="nextmessagelist()" >下一页</span>
		  </div>
		</div>
	  </div>
	</div>

	<div class="row comment-area section-space--pt_60">
      <div class="section-title">
        <h3 class="title">我要点评</h3>
      </div>
      <form action="" class="comment-form-area">
        <div class="row">
        <input name="go" value="1" placeholder="表示" id="go" type="hidden" />
		<input name="star" value="0" placeholder="评论星星数"  id="star" type="hidden" />
		<input name="tid" id="tid" value="{$type['id']}"  type="hidden" />
		<input name="aid" id="aid" value="{$jz['id']}" placeholder="文章ID"   type="hidden" />
		<input name="zid" value="0" id="zid" placeholder="评论层ID"  type="hidden" />
		<input name="pid" value="0" id="pid" placeholder="回复层ID"  type="hidden" />
          <div class="col-lg-12">
            <div class="single-input">
              <textarea
				id="content"
                name="textarea"
				{if(!$islogin)}disabled{/if}
                placeholder="输入评论内容"
              ></textarea>
            </div>
          </div>
          <div class="col-lg-12">
		  {if($islogin)}
            <div class="submit-button text-center">
              <button
                class="btn-large btn-primary"
                type="button"
				onclick="sendmsg()"
              >
                提 交
              </button>
            </div>
		   {else}
		   您还未登录,无法发表评论!<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#loginModel">立即登录</button>
		   {/if}
          </div>
        </div>
      </form>
    </div>
  
	
	
	
	</div>
	</div>
	
	<script>
	//发送评论
	function sendmsg(){
    	var star = $("#star").val();
    	var tid = $("#tid").val();
    	var aid = $("#aid").val();
    	var zid = $("#zid").val();
    	var pid = $("#pid").val();
    	var content = $("#content").val();
    	if(content==''){
    		layer.alert('评论内容不能为空!');
    		return false;
    	}
    	$.post('/comment/index',{star:star,tid:tid,aid:aid,zid:zid,pid:pid,body:content,ajax:1,go:1},function(res){
    		if(res.code==0){
    			layer.msg(res.msg,{icon:6,time:2000},function(){
    				location.reload();
    			})
    		}else{
    			layer.msg(res.msg,{icon:5,time:2000})
    		}
    	},'json');
    	
    	return false;
    	
    	
    }
    function reply(pid,username,zid){
    	$("#pid").val(pid);
    	$("#zid").val(zid);
    	$("#content").val('[@'+username+']');
    	$("#content").focus();
    }

    //获取评论列表
    function getmessagelist(tid,aid,page){
    	$.ajax({
    		 url:"/comment/getlist",
    		 dataType:"json",
    		 data:{tid:tid,aid:aid,page:page,limit:10},
    		 async:true,
    		 type:"GET",
    		 success:function(r){
    			if(r.code==0){
    				var len = r.data.list.length;
    				var html = '';
    				if(len>0){
    					for(var i=0;i<len;i++){
    						var rdata = r.data.list[i];
    						html+='<li class="comment">'+
    							  '<div class="comment-2">'+
    								'<div class="comment-author-info">'+
    								  '<div class="comment-author vcard">'+
    									'<img alt="'+rdata.user.username+'" src="'+rdata.user.litpic+'" onerror="this.src=\'{$tpl}static/picture/comments-3.png\'" />'+
    								  '</div>'+
    								  '<div class="comment-content">'+
    									'<div class="meta">'+
    									  '<div class="comment-content-top">'+
    										'<div class="comment-actions">'+
    										  '<h6 class="fn">'+rdata.user.username+'</h6>'+
    										  '<span class="time">'+rdata.addtime+'</span>'+
    										'</div>'+
    									  '</div>'+
    									  '<a class="comment-reply-link" onclick="reply('+rdata.id+',\''+rdata.user.username+'\','+rdata.id+')"><i class="icofont-reply"></i> 回复</a>'+
    									'</div>'+
    								  '</div>'+
    								'</div>'+
    								'<div class="comment-text">'+
    								  '<p>'+rdata.body+
    								  '</p>'+
    								'</div>'+
    							  '</div>';
    						var llen = rdata.children.length;
    						if(llen>0){
    							html+='<ol class="children">';
    							for(var j=0;j<llen;j++){
    								var rrdata = rdata.children[j];
    								html+='<li class="comment">'+
    							  '<div class="comment-2">'+
    								'<div class="comment-author-info">'+
    								  '<div class="comment-author vcard">'+
    									'<img alt="'+rrdata.user.username+'" src="'+rrdata.user.litpic+'" onerror="this.src=\'{$tpl}static/picture/comments-3.png\'" />'+
    								  '</div>'+
    								  '<div class="comment-content">'+
    									'<div class="meta">'+
    									  '<div class="comment-content-top">'+
    										'<div class="comment-actions">'+
    										  '<h6 class="fn">'+rrdata.user.username+'</h6>'+
    										  '<span class="time">'+rrdata.addtime+'</span>'+
    										'</div>'+
    									  '</div>'+
    									  '<a class="comment-reply-link" onclick="reply('+rrdata.id+',\''+rrdata.user.username+'\','+rdata.id+')"><i class="icofont-reply"></i> 回复</a>'+
    									'</div>'+
    								  '</div>'+
    								'</div>'+
    								'<div class="comment-text">'+
    								  '<p>'+rrdata.body+
    								  '</p>'+
    								'</div>'+
    							  '</div>';
    							}
    							html+='</ol>';
    						}
    						html+='</li>';
    					}
    	
    					$("#jz_comment_list").html(html);
    				}else{
    					var page = r.data.allpage;
    					//layer.msg('没有了',{icon:6,time:1000});
    				}
    				
    				$("#jz_comment_num").html(r.data.count);
    				var allpage = parseInt(r.data.allpage);
    				if(allpage>1){
    					$(".comment-page-bar").show();
    				}else{
    					$(".comment-page-bar").hide();
    				}
    				
    			}
    		 }
    	})
    }
    //下一页评论
    function nextmessagelist(){
    	page++;
    	var tid = $("#tid").val();
    	var aid = $("#aid").val();
    	getmessagelist(tid,aid,page)
    }
    //上一页评论
    function prevmessagelist(){
    	page = page--;
    	page = page<0 ? 1 : page;
    	var tid = $("#tid").val();
    	var aid = $("#aid").val();
    	getmessagelist(tid,aid,page)
    }
    	
    
     var page = 1;
     //内容页变量,其他页面请自行修改
     getmessagelist({$jz['tid']},{$jz['id']},page);	
    //回复其他人	
    function reply(pid,username){
    	$("#pid").val(pid);
    	$("#content").val('[@'+username+']');
    	$("#content").focus();
    }	
	</script>	

输出指定用户(ID=1)评论内容

{loop table="comment" userid="1" as="v"}
{php
$user = memberInfo($v['userid']);
/}
评论用户:{$user['username']}
用户头像:{$user['litpic']}
评论内容:{$v['body']}
评论时间:{fun date('Y-m-d H:i:s',$v['addtime'])}

{/loop}

如果要指定文章内的评论,请加上对应的参数aidtid

根据文章输出对应评论

//文章ID=1,栏目ID=2

{loop table="comment" aid="1" tid="2" as="v"}
{php
$user = memberInfo($v['userid']);
/}
评论用户:{$user['username']}
用户头像:{$user['litpic']}
评论内容:{$v['body']}
评论时间:{fun date('Y-m-d H:i:s',$v['addtime'])}

{/loop}

本文属原创,转载请注明原文:https://www.zhimatong.com/jiaocheng/1057.html

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

联系
顾问

交流群 购物车
账号登录

没有账号?立即注册

忘记密码

登录即同意用户协议没有账号? 立即注册
账号注册
我已阅读并同意用户协议
立即注册
注册即同意用户协议已有账号? 立即登录
找回密码

操作步骤:邮箱验证->设置新密码

注册即同意用户协议已有账号? 立即登录