<?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +---------------------------------------------------------------------- // | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: 老猫 <thinkcmf@126.com> // +---------------------------------------------------------------------- namespace app\portal\controller; use cmf\controller\HomeBaseController; use app\portal\model\CityCategoryModel; use think\Db; //星享体验 class EnjoyController extends HomeBaseController { private $index_limit = 16;//首页分页 private $more_limit = 8;//更多列表分页 public function index(){ //按照城市查询 //封面图 $imgModel = new IndexController(); $coverImg = $imgModel->getCoverImg(CityCategoryModel::enjoyImg,1); $this->assign('coverImg',$coverImg); //默认澳大利亚 $city_id = $this->request->param('city_id',0,'intval'); $position['city_id'] = $city_id; $this->assign('city_id',$city_id); //城市分类 $city_name = $this->getCityName(); $this->assign('city_name',$city_name); //城市名字 $star = new StarController(); $cityName = $star->getCityName($city_id); $this->assign('cityName',$cityName); //亲临现场 $position['category_id'] = CityCategoryModel::qlxc; $field = 'id,thumbnail,post_title,post_excerpt'; $res_qlxc = $this->getChildArticle($position,$field,$this->index_limit); $this->assign('res_qlxc',$res_qlxc); //市井漫游 $position['category_id'] = CityCategoryModel::sjmy; $field = 'id,thumbnail,post_title,post_excerpt,index_thumbnail2'; $res_sjmy = $this->getChildArticle($position,$field,$this->index_limit); $this->assign('res_sjmy',$res_sjmy); //视听盛宴 $position['category_id'] = CityCategoryModel::stsy; $field = 'id,thumbnail,post_title,post_excerpt'; $res_stsy = $this->getChildArticle($position,$field); $this->assign('res_stsy',$res_stsy); //户外天堂 $position['category_id'] = CityCategoryModel::hwtt; $field = 'id,thumbnail,post_title,post_excerpt'; $res_hwtt = $this->getChildArticle($position,$field); $this->assign('res_hwtt',$res_hwtt); return $this->fetch(); } //根据子类获取文章 public function getChildArticle($position,$field,$limit=''){ $pre = CityCategoryModel::pre; $limit = empty($limit)?0:$limit; $post_id = Db::table($pre.'portal_category_post') ->whereIn('category_id',$position['category_id']) ->field('post_id') ->select() ->toArray(); $post_id = array_column($post_id,'post_id'); //查询文章 if($position['city_id'] == 0){ //所有 $where = ['delete_time'=>0]; }else{ $where = ['city_id'=>$position['city_id'],'delete_time'=>0]; } $res = Db::table($pre.'portal_post') ->whereIn('id',$post_id) ->where($where) ->field($field) ->limit($limit) ->order('weigh desc') ->select() ->toArray(); return $res; } //亲临现场,市井漫游,视听盛宴,户外天堂详情(页面底部有轮播图) public function getEnjoyDetail(){ $id = $this->request->param('id',0,'intval'); $field = 'id,thumbnail,post_title,post_excerpt,create_time,post_content,more'; $starModel = new StarController(); $res = $starModel->getDetail($id,$field); if($res){ $more = json_decode($res['more'],true); $res['image_url'] = isset($more['photos']) && !empty($more['photos'])?$more['photos']:''; } $this->assign('res',$res); return $this->fetch(':enjoy_detail'); } //获取城市名称 public function getCityName(){ $res = Db::name('city_category') ->where('pid','<>',0) ->where('id','<>',CityCategoryModel::xqgh_cc) ->where('id','<>',CityCategoryModel::djxq) ->where('is_show',1) ->where('delete_time',0) ->field('id,name') ->order('weigh desc') ->select() ->toArray(); return $res; } }