タイトル: 親ビューと子ビュー(@section, @yield, @extends, @parent, @include)
SEOタイトル: 【Laravel】親ビューと子ビュー(@section, @yield, @extends, @parent, @include)
| この記事の要点 |
|---|
|
Laravelの親ビュー、子ビューに関する記事です。
テンプレートとなる親ビューの作成
viewsディレクトリ内に任意ディレクトリを作り、
その中にXXX.blade.phpというファイルを配置する。
※ファイルの拡張子をXXX.blade.phpとする。
resources/views/任意ディレクトリ/XXX.blade.php
|
@section('sidebar') サイドバー @show @yield('content');
|
@sectionディレクティブはコンテンツのセクションを定義する。
@yieldディレクティブは指定したセションの内容を表示するために使用する。
子ビューの作成
子ビューを定義するには、Blade @extendsディレクティブを使用する。
Bladeレイアウトを拡張するビューは、@sectionディレクティブを使用し、レイアウトのセクションに内容を挿入。
レイアウトでセクションを表示するには@yieldを使用する。
resources/views/XXX.blade.php
|
@extends('親ビューを配置したディレクトリ.app') @section('title', 'Page Title') @section('sidebar') @parent サイドバーに追加 @endsection @section('content') 本文のコンテンツ @endsection |
sidebarセクションでは、レイアウトのサイドバーの内容をコンテンツに上書きするのではなく、
追加するために@parentディレクティブを使用。
@parentディレクティブはビューをレンダーするときに、レイアウトの内容に置き変わる。
@includeを使用することで個別にビューを読み込むことが出来る。
|
@include('個別のビュー') |