logo

添加发帖回帖榜

www 可乐 2021-12-23 12:47 5 659 已结

问题描述:
index.html [pre]

{:lang('reviewers list')}

{:lang('reviewers list')}

[/pre] js [pre] //发帖榜 var tplReply = ['{{# layui.each(d.data, function(index, item){ }}' ,'
' ,'' ,'' ,'{{item.user.username}}' ,'{{item["count(*)"]}}' +replyNum+'' ,'' ,'
' ,'{{# }); }}'].join('') ,elemReply = $('#LAY_replyRank'); if(elemReply[0]){ fly.json(replyUrl, { limit: 20 }, function(res){ var html = laytpl(tplReply).render(res); elemReply.find('dl').html(html); }); }; //回帖榜 var tplReplys = ['{{# layui.each(d.data, function(index, item){ }}' ,'
' ,'' ,'' ,'{{item.user.username}}' ,'{{item["count(*)"]}}' +replyNum+'' ,'' ,'
' ,'{{# }); }}'].join('') ,elemReplys = $('#LAY_replyRanks'); if(elemReplys[0]){ fly.json(replyUrlS, { limit: 20 }, function(res){ var html = laytpl(tplReplys).render(res); elemReplys.find('dl').html(html); }); }; [/pre] url [pre] var replyUrl = "{:url('index/reply')}"; var replyUrlS = "{:url('index/replys')}"; [/pre] index.php [pre] //发帖榜 public function reply() { $comment = new \app\common\model\Comment(); return $comment->reply(20); } //回帖榜 public function replys() { $comment = new \app\common\model\Art(); return $comment->reply(20); } [/pre] Art() [pre] belongsTo('Article','article_id','id'); } public function user() { //评论关联用户 return $this->belongsTo('User','user_id','id'); } //获取评论 public function getComment($id) { $comments = $this::where(['article_id'=>$id,'status'=>1])->order(['cai'=>'asc','create_time'=>'asc'])->paginate(10); return $comments; } //回帖榜 public function reply($num) { $res = Cache::get('reply'); if(!$res){ $user = User::withCount('comments')->order(['comments_count'=>'desc','last_login_time'=>'desc'])->limit($num)->select(); if($user) { $res['status'] = 0; $res['data'] = array(); foreach ($user as $key=>$v) { $u['uid'] = (string) url('user/home',['id'=>$v['id']]); $u['count(*)'] = $v['comments_count']; if($v['nickname']) { $u['user'] = ['username'=>$v['nickname'],'avatar'=>$v['user_img']]; } else { $u['user'] = ['username'=>$v['name'],'avatar'=>$v['user_img']]; } $res['data'][] = $u; } } Cache::set('reply',$res,3600); } return json($res); } } [/pre]

网站声明:
1.本站使用TaoLerCMS驱动,安全迅速,简单好用,深度SEO。
2.本站用户所发布内容均为用户个人行为,若有侵权请提供原内容出处,联系本站管理员删除。
3.站点原创内容转载及引用,请联系本站并引用原文链接地址,否则一切后果自行承担。

本文链接: https://www.aieok.com//article/ask/225.html
评论 5
  • admin
    admin TaoLer官方网站
    北京
    1.删除Art.php 2.在app/common/model/Article.php中,大约第300行,添加代码 [pre] //发帖榜 public function posts($num) { $res = Cache::get('posts'); if(empty($res)){ $user = User::withCount('articles')->order(['articles_count'=>'desc','last_login_time'=>'desc'])->limit($num)->select(); if($user) { $res['status'] = 0; $res['data'] = array(); foreach ($user as $key=>$v) { $u['uid'] = (string) url('user/home',['id'=>$v['id']]); $u['count(*)'] = $v['articles_count']; if($v['nickname']) { $u['user'] = ['username'=>$v['nickname'],'avatar'=>$v['user_img']]; } else { $u['user'] = ['username'=>$v['name'],'avatar'=>$v['user_img']]; } $res['data'][] = $u; } } Cache::set('posts',$res,3600); } return json($res); } [/pre] 3.app/index/controller/index.php中添加代码: [pre] //回帖榜 public function reply() { $comment = new \app\common\model\Comment; return $comment->reply(20); } //下面是你需要添加的代码 //发帖榜 public function posts() { return Article::posts(20); } [/pre] 4.url [pre] //注意这里,地址是这个 var replyUrlS = "{:url('index/posts')}"; [/pre]
    1 回复
  • admin
    admin TaoLer官方网站
    北京
    前提是,app/common/model/User.php中有这一段代码: [pre] //用户关联帖子 public function articles() { return $this->hasMany(Article::class); } [/pre] 然后js就按照你添加的应该就可以了。你试试看可以不。我没有仔细看JS部分,JS和HTML,主要是id,其它应该都一样。
    0 回复
  • www
    www (贴主)
    福州
    @管理员 还是不行哎
    0 回复
  • admin
    admin TaoLer官方网站
    北京
    @www 代码改了后,进入后台,点清理一下缓存。看是否正常,我这边可以显示回帖榜和发帖榜。
    0 回复
  • www
    www (贴主)
    福州
    @管理员 大家注意路径位置哈face[泪]
    0 回复
资源总数
533+
今日更新
0
会员总数
518
今日注册
0
暂停广告
TaoLer社区做最专业的社区系统