1. 程式人生 > >laravel中公共子檢視繼承實現

laravel中公共子檢視繼承實現

模板繼承什麼用? 自然是增強基礎頁面的複用,有利於頁面文件的條理,也便於更改多處使用的內容,如頁頭、頁尾

1.用法概要

  • @include('common.header') 包含子檢視
  • @extends('article.common.base') 繼承基礎模板
  • @yield('content') 檢視佔位符
  • @section('content') @endsection繼承模板後向檢視佔位符中填入內容
  • {{-- 註釋 --}} Blade模板中註釋的使用

2.具體使用

2.1 新建Article基礎模板base.blade.php

直接使用Bootstrap4模板程式碼及CDN,新建檢視基礎模板
路徑resources/views/article/common/base.blade.php

<!DOCTYPE html><html lang="en">
<head>    
<title>Artilce|標題在此</title>    
<meta charset="utf-8">    
<meta name="viewport" content="width=device-width, initial-scale=1">    
<meta http-equiv="x-ua-compatible" content="ie=edge">    <link rel="stylesheet"
href="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/css/bootstrap.css">
</head> <body> {{-- 包含頁頭 --}} @include('article.common.header') {{-- 繼承後插入的內容 --}} @yield('content') {{-- 包含頁尾 --}} @include('article.common.footer') <script src="http://ajax.useso.com/ajax/libs/jquery/2.1.4/jquery.min.js"
>
</script> <script src="https://cdn.rawgit.com/twbs/bootstrap/v4-dev/dist/js/bootstrap.js"></script> </body> </html>

2.2. 建子檢視檔案 頁頭和頁尾

  • 頁標頭檔案 resources/views/article/common/header.blade.php
<nav class="navbar navbar-light bg-faded">    
    <div class="container">        
    <a class="navbar-brand" href="#">Articles</a>        
    <ul class="nav navbar-nav">            
        <li class="nav-item active">                
        <a class="nav-link" href="/article">首頁 <span class="sr-only">(current)</span></a>            
        </li>            
        <li class="nav-item">                
            <a class="nav-link" href="#">寫文章</a>            
        </li>        
    </ul>        
    <ul class="nav navbar-nav pull-right">            
    <li class="nav-item">
        <a href="" class="btn btn-primary-outline">登入</a>
    </li>            
    <li class="nav-item">
        <a href="" class="btn btn-success-outline">註冊</a>
    </li>        
    </ul>    
</div>
</nav>
  • 頁尾檔案 resources/views/article/common/footer.blade.php
<div class="footer" 
        style="width: 100%;height: 300px;background-color: #00B388;padding-top: 50px;">    
    <div class="container">        
        <h1 style="color: #FFFFFF;font-size: 1.5em;">Articles</h1>          
    </div>
</div>

2.3 即可繼承模板,實現複用

新建主頁檔案在resources/views/article/index.blade.php

@extends('article.common.base')
@section('content')    
    <div class="container" style="height: 500px;text-align: center;">        
    <h1 style="position: absolute;left: 35%;top: 30%;">繼承模板的主頁搞定了!</h1>       
     {{-- 這裡是Blade註釋 --}}    
    </div>
@endsection

2.4 如何訪問?

  • 需要路由以及控制器配合,這裡簡單隻用路由實現,詳細內容請點選,以及接下來的其它文段
  • app/Http/routes.php 路由註冊檔案寫上如下程式碼
Route::get('/',function(){
    return view('article.index');
});


文/丁一鳴(簡書作者)
原文連結:http://www.jianshu.com/p/0aa1153eac22
著作權歸作者所有