任务45:展示栏目及热门文章.
1,编辑前台公共控制器BaseController.php,新增 getCates()方法和hotArts()方法 ,并用构造函数 指向它们,使得数据可以被各模板接收到
<?php namespace App\Http\Controllers\Index; use App\Http\Controllers\Controller; use App\Models\Admin\Article; use App\models\Admin\Cate; use Illuminate\Http\Request; use Illuminate\Support\Facades\View; class BaseController extends Controller { public function __construct() { $this->getCates(); $this->hotArts(); } public function getCates(){ $cateRes = Cate::all(); View::share('cateRes',$cateRes); } //热门文章 public function hotArts(){ $artRes = Article::where('pic','!=','')->orderBy('click','desc')->take(6)->get(); View::share('artRes',$artRes); } }
2,前台公共模板 \resources\views\Index\Layout\left.blade.php 和 right.blade.php 调用数据
left.blade.php
<ul id="primary-menu" class="sf-menu sf-js-enabled sf-arrows" style="touch-action: pan-y;"> @foreach($cateRes as $cate) <li id="menu-item-492" class="color1 menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-492"> <a href="{{route('index.cate.index',array('id'=>$cate['id']))}}" aria-current="page">{{$cate->cate_name}}</a> </li> @endforeach </ul>
right.blade.php
<h2 class="widget-title"><span>浏览最多的文章<span></span></span></h2> <ul> @foreach($artRes as $art) <li class="clear"> <a href="{{route('index.article.index',array('id'=>$art['id']))}}" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="85" src="{{asset('static/uploads/')}}{{$art->pic}}" class="attachment-zimeiti_2_widget_post_thumb size-zimeiti_2_widget_post_thumb wp-post-image" alt=""> </div> </a> <div class="entry-wrap"> <a href="{{route('index.article.index',array('id'=>$art['id']))}}" rel="bookmark">{{$art->title}}</a> <div class="entry-meta">{{substr($art->created_at,0,10)}}</div> </div> </li> @endforeach </ul>
END

浙公网安备 33010602011771号