ActiveController.php
2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?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 ActiveController extends HomeBaseController
{
private $index_limit = 16;//首页分页
private $more_limit = 5;//更多列表分页
public function index(){
//星际活动
$position['category_id'] = CityCategoryModel::xjhd_c;
$field = 'id,thumbnail,post_title';
$res = $this->getChildArticlePage($position,$field);
$this->assign('res',$res['data']);
$this->assign('page',$res['page']);
return $this->fetch();
}
//根据子类获取文章分页
public function getChildArticlePage($position,$field,$limit=''){
$pre = CityCategoryModel::pre;
$limit = empty($limit)?$this->more_limit:$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');
//查询文章
$res = Db::table($pre.'portal_post')
->whereIn('id',$post_id)
->where('delete_time',0)
->field($field)
->order('weigh desc')
->paginate($limit);
$arr['data'] = $res->toArray();
$arr['page'] = $res->render();
return $arr;
}
//星际活动详情
public function getActiveDetail(){
$id = $this->request->param('id',0,'intval');
//活动外链登录后可见(active_url)
$field = 'id,thumbnail,post_title,post_excerpt,post_content,active_url,create_time,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'][0]['url']:'';
}
$this->assign('res',$res);
return $this->fetch();
}
}