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

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

项目地址

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

一、频道推荐

控制器

 1 <?php
 2 namespace appindexcontroller;
 3 
 4 use appindexcontrollerBase;
 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 appindexcontroller;
 3 
 4 use thinkController;
 5 use thinkDb;
 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 }

视图

            热门点击
            {volist name='clicks' id='value'}
            <li class="hm-t-item hm-t-item-img"><a data-pos="0" title="{$value.title}" target="_blank" href="{:url('article/index',array('arid'=>$value['id']))}" class="hm-t-img-title" style="visibility: visible;"><span>{$value.title}</span></a></li>
            {/volist}

            推荐阅读
            {volist name='recs' id='value'}
            <li class="hm-t-item hm-t-item-img"><a style="visibility: visible;" class="hm-t-img-title" href="{:url('article/index',array('arid'=>$value['id']))}" target="_blank" title="{$value.title}" data-pos="0"><span>{$value.title}</span></a></li>
            {/volist}

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

原文地址:https://www.cnblogs.com/Renyi-Fan/p/8810353.html