NewsController.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <?php
  2. namespace app\index\controller;
  3. use cmf\controller\HomeBaseController;
  4. use think\Db;
  5. class NewsController extends HomeBaseController
  6. {
  7. public function index()
  8. {
  9. // $article_cates = ['加盟快讯','新店开业','店铺选址','加盟指南','品牌新闻','品牌人物'];
  10. // $article_encate = ['zixun','kaiye','xuanzhi','zhinan','xinwen','renwu'];
  11. $map['status'] = 1;
  12. $article_cates = Db::name('news_category')->order('list_order desc')->select();
  13. //加盟头条
  14. $toutiao = Db::name('news')->where($map)->field('id,title')->order('id desc')->limit(12)->select();
  15. //热点聚焦
  16. $redian = Db::name('news')->where($map)->field('id,title,thumb,keywords,create_time')->where('thumb','not null')->limit(4)->select();
  17. //分类资讯
  18. $ncate_list = array();
  19. foreach($article_cates as $k=>$v){
  20. $dqid = $v['id'];
  21. $nlist = Db::name('news')->where($map)->where('ncatid',$dqid)->order('list_order')->limit(5)->select();
  22. $ncate_list[$dqid] = $nlist;
  23. }
  24. //二级分类
  25. // $cates = Db::name('category')->where('parent_id','gt',0)->order('list_order')->limit(12)->select();
  26. // $cate_list = array();
  27. // foreach($cates as $k=>$v){
  28. // $fl_list = Db::name('news')->where($map)->field('id,title,create_time')->where('catid',$v['id'])->limit(10)->select();
  29. // $v['infos'] = $fl_list;
  30. // $cate_list[$v['id']] = $v;
  31. // }
  32. //修改为显示1及分类
  33. $cates = Db::name('category')->where('parent_id',0)->order('list_order')->limit(12)->select();
  34. $cate_list = array();
  35. foreach($cates as $k=>$v){
  36. $son_cate = Db::name('category')->where('parent_id',$v['id'])->order('list_order')->select()->toArray();
  37. $son_array = array();
  38. foreach($son_cate as $kk=>$vv){
  39. $son_array[] = $vv['id'];
  40. }
  41. $fl_list = Db::name('news')->where($map)->where('catid','in',$son_array)->field('id,title,create_time')->limit(10)->select();
  42. $v['infos'] = $fl_list;
  43. $cate_list[$v['id']] = $v;
  44. }
  45. $catinfo = array('id'=>0);
  46. //排行
  47. $paihang = Db::name('jiameng')->field('id,title')->order('hits desc')->limit(15)->select();
  48. //横幅广告
  49. //横幅广告位
  50. $brand8 = Db::name('jiameng')->field('id,title,logo,guanggaowei')->where('level',8)->order('list_order')->limit(2,2)->select()->toArray();
  51. //热门精选
  52. $brand_jx = Db::name('jiameng')->field('id,title,logo')->order('list_order')->limit(5)->select()->toArray();
  53. $news1 = Db::name('news')->where($map)->field('id,title,thumb,guanggaowei')->where('level',1)->order('list_order')->limit(5)->select()->toArray();
  54. $news2 = Db::name('news')->where($map)->field('id,title,guanggaowei')->where('level',2)->order('list_order')->limit(2)->select()->toArray();
  55. $this->assign('news1',$news1);
  56. $this->assign('news2',$news2);
  57. $this->assign('brand8',$brand8);
  58. $this->assign('brand_jx',$brand_jx);
  59. $this->assign('cate_list',$cate_list);
  60. $this->assign('paihang',$paihang);
  61. $this->assign('cates',$cates);
  62. $this->assign('ncate_list',$ncate_list);
  63. $this->assign('redian',$redian);
  64. $this->assign('toutiao',$toutiao);
  65. $this->assign('article_cates',$article_cates);
  66. $this->assign('catinfo',$catinfo);
  67. $this->assign('link_cate_name','news');
  68. // $this->assign('article_encate',$article_encate);
  69. return $this->fetch();
  70. }
  71. public function show(){
  72. $param = $this->request->param();
  73. isset($param['id']) or $this->error('非法访问');
  74. $info = Db::name('news')->where('id',$param['id'])->where('status',1)->find();
  75. if(empty($info)){
  76. $this->error('未找到新闻');
  77. }
  78. $catinfo = Db::name('news_category')->where('id',$info['ncatid'])->find();
  79. // $article_cates = ['加盟快讯','新店开业','店铺选址','加盟指南','品牌新闻','品牌人物'];
  80. // $article_dy = ['zixun'=>0,'kaiye'=>1,'xuanzhi'=>2,'zhinan'=>3,'xinwen'=>4,'renwu'=>5];
  81. // $article_encate = ['zixun','kaiye','xuanzhi','zhinan','xinwen','renwu'];
  82. $bcate = Db::name('category')->where('id',$info['catid'])->find();
  83. $info['catname'] = $bcate['catname'];
  84. $article_cates = Db::name('news_category')->order('list_order desc')->select();
  85. //更新点击次数
  86. Db::name('news')->where('id',$param['id'])->setInc('hits',1);
  87. //内容
  88. $content = Db::name('news_data')->where('id',$param['id'])->find();
  89. $info['content'] = $content['content'];
  90. //下一篇
  91. $map['status'] = 1;
  92. $nextinfo = Db::name('news')->field('id,title')->where($map)->where('id','gt',$param['id'])->order('id')->limit(1)->find();
  93. if(!empty($nextinfo)){
  94. $next = 1;
  95. }else{
  96. $next = 0;
  97. }
  98. $brand_info = array();
  99. if($info['pid']){
  100. $brand_info = Db::name('jiameng')->field('id,catid,title,touzi_level,mendian,yxjm')->find();
  101. //品牌分类
  102. $brand_cate = Db::name('category')->where('id',$brand_info['catid'])->find();
  103. if(!empty($brand_cate)){
  104. $this->assign('brand_cate',$brand_cate);
  105. }else{
  106. $this->assign('brand_cate',[]);
  107. }
  108. }
  109. $touziarr = array(
  110. '1万元以下',
  111. '1~5万元',
  112. '5~10万元',
  113. '10~20万元',
  114. '20~50万元',
  115. '50~100万元',
  116. '100万元以上',
  117. '200万元以上',
  118. '300万元以上'
  119. );
  120. $this->assign('touziarr',$touziarr);
  121. $this->assign('brand_info',$brand_info);
  122. $this->assign('nextinfo',$nextinfo);
  123. $this->assign('next',$next);
  124. $this->assign('article_cates',$article_cates);
  125. $this->assign('catinfo',$catinfo);
  126. // $this->assign('article_encate',$article_encate);
  127. $this->assign('info',$info);
  128. //seo
  129. $seo_title = $info['seo_title'];
  130. $seo_keywords = $info['seo_keywords'];;
  131. $seo_desc = mb_substr($info['content'],0,200,'utf8');
  132. $seo_desc = strip_tags($seo_desc);
  133. $this->assign('seo_title',$seo_title);
  134. $this->assign('seo_keywords',$seo_keywords);
  135. $this->assign('seo_desc',$seo_desc);
  136. return $this->fetch();
  137. }
  138. public function lists(){
  139. $param = $this->request->param();
  140. $article_cates = Db::name('news_category')->order('list_order desc')->select();
  141. $map['status'] = 1;
  142. if(isset($param['catname'])){
  143. $catinfo = Db::name('news_category')->where('enname',$param['catname'])->find();
  144. if(empty($catinfo)){
  145. $this->error('未找到分类');
  146. }
  147. $catid = $catinfo['id'];
  148. $map['ncatid'] = $catid;
  149. }
  150. $lists = Db::name('news')->field('id,title,thumb,keywords,hits,create_time')->where($map)->order('id desc')->paginate(10);
  151. $this->assign('lists',$lists);
  152. $this->assign('article_cates',$article_cates);
  153. // $this->assign('article_encate',$article_encate);
  154. $this->assign('catinfo',$catinfo);
  155. $this->assign('typeid',$catid);
  156. //seo
  157. $seo_title = $catinfo['seo_title'];
  158. $seo_keywords = $catinfo['seo_keywords'];
  159. $seo_desc = $catinfo['seo_desc'];
  160. $this->assign('seo_title',$seo_title);
  161. $this->assign('seo_keywords',$seo_keywords);
  162. $this->assign('seo_desc',$seo_desc);
  163. //seo
  164. $seo_title = str_replace('|',$catinfo['catname'],$catinfo['seo_title']);
  165. $seo_keywords = str_replace('|',$catinfo['catname'],$catinfo['seo_keywords']);
  166. $seo_desc = str_replace('|',$catinfo['catname'],$catinfo['seo_desc']);
  167. $this->assign('seo_title',$seo_title);
  168. $this->assign('seo_keywords',$seo_keywords);
  169. $this->assign('seo_desc',$seo_desc);
  170. return $this->fetch('list');
  171. }
  172. public function message(){
  173. return $this->fetch();
  174. }
  175. }
  176. ?>