任务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

posted @ 2020-05-22 10:12  pensive2019  阅读(146)  评论(0)    收藏  举报