thinkphp5项目--个人博客(六)

thinkphp5项目--个人博客(六)

项目地址

fry404006308/personalBlog: personalBlog
https://github.com/fry404006308/personalBlog

 

一、频道推荐

控制器

 1 php
 2 namespace app\index\controller;
 3 
 4 use app\index\controller\Base;
 5 class Article extends Base
 6 {
 7     public function index()
 8     {
 9         $arid=input('arid');
10         $articleres=db('article')->find($arid);
11         //访问一次这个方法,说明文章被访问一次,让文章的click字段值加1
12         db('article')->where('id','=',$arid)->setInc('click');
13         $cateres=db('cate')->find($articleres['cateid']);
14 
15         //推荐
16         $recres=db('article')->where(array('cateid'=>$cateres['id'],'state'=>1))->limit(8)->select();
17         $this->assign(array(
18             'articleres'=>$articleres,
19             'cateres'=>$cateres,
20             'recres'=>$recres,
21         ));
22 
23 
24         return view();
25     }
26 }

视图

 1                 
 2                 <div class="hotsnew">
 3                     <div class="til"><h4>频道推荐h4>div>
 4                     <ul>
 5                         {volist name='recres' id='value' }
 6                         <li>
 7                             <div class="tu">
 8                                 <a href='{:url('article/index',array('arid'=>$value.id))}' target="_blank">
 9                                     <img src="{if condition="$value['pic'] neq '' "}__IMG__{$value.pic} {else /}__PUBLIC__/images/error.png{/if} " alt="{$value.title}"/>
10                                 a>
11                             div>
12                             <p><a href='{:url('article/index',array('arid'=>$value.id))}'>{$value.title}a>p>
13                         li>
14                         {/volist}
15 
16                     ul>
17                 div>    

 

二、右侧的热门点击和推荐阅读 

 

控制器,这里在Base控制器,因为右边这部分是公共部分

 1 php
 2 namespace app\index\controller;
 3 
 4 use think\Controller;
 5 use think\Db;
 6 class Base extends Controller
 7 {
 8     public function _initialize()
 9     {
10         //得到栏目数据,并且分配
11         $cates = Db::name('cate')->order('id asc')->select(); 
12         $this->assign('cates',$cates);
13 
14         //执行处理右边的热门点击和推荐阅读
15         $this->right();
16     }
17 
18     //处理右边的热门点击和推荐阅读
19     public function right(){
20         //热门点击
21         $clicks=db('article')->order('click desc')->limit(4)->select();
22         //推荐
23         $recs=db('article')->where('state','=',1)->order('click desc')->limit(4)->select();
24         $this->assign(array(
25             'clicks'=>$clicks,
26             'recs'=>$recs,
27         ));
28     }
29 
30 }

 

视图

 

三、公共部分的模块,方法写在公共控制器里面

thinkphp5项目--个人博客(六)_第1张图片

 

你可能感兴趣的:(thinkphp5项目--个人博客(六))