NewsController.php 8.2 KB

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