演習課題「共通テンプレートを利用する」
右の環境には、Laravelで「myblog」というアプリケーションを作ってあります。
この一覧ページのビュー(index.blade.php)で、以下のURLにアクセスした際に共通テンプレート(layout.blade.php)を利用するように修正してください。
共通テンプレートはすでに作成済みです。
'https://localhost:8000/diary'
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
※ 採点時は、サーバを起動し、問題文に関するページにアクセスできる状態にしてください。
#02:テンプレートを共通化しよう
ここでは、Laravelで複数のページを利用する場合、その共通部分をまとめる方法について学習します。共通部分をまとめると、Webデザインの作成やメンテナンスを効率よく進めることができます。
resources/views/layout.blade.php<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>paiza bbs</title>
<style>body {padding: 10px;}</style>
</head>
<body>
@yield('content')
</body>
</html>
resources/views/index.blade.php@extends('layout')
@section('content')
<h1>paiza bbs</h1>
<p>{{ $message }}</p>
@foreach ($articles as $article)
<p>
<a href='{{ route("article.show", ["id" => $article->id]) }}'>
{{ $article->content }},
{{ $article->user_name }}
</a>
</p>
@endforeach
<div>
<a href={{ route('article.new') }}>新規投稿</a>
</div>
@endsection
resources/views/show.blade.php@extends('layout')
@section('content')
<h1>paiza bbs</h1>
<p>{{ $message }}</p>
<p>{{ $article->content }}</p>
<p>{{ $article->user_name }}</p>
<p>
<a href={{ route('article.list') }}>一覧に戻る</a>
</p>
<div>
{{ Form::open(['method' => 'delete', 'route' => ['article.delete', $article->id]]) }}
{{ Form::submit('削除') }}
{{ Form::close() }}
</div>
@endsection
### Bladeテンプレートエンジン
Bladeテンプレート 5.6 Laravel
https://readouble.com/laravel/5.6/ja/blade.html
【Laravel】Viewのbladeの書き方 - Qiita
https://qiita.com/sola-msr/items/a128f4e0900f3541690c
### ビューの共通化
LaravelのBladeテンプレートでレイアウト部分を共通にする | cly7796.net
http://cly7796.net/wp/php/to-a-common-layout-in-blade-template-of-laravel/
Blade テンプレートについて - Laravel学習帳
http://laraweb.net/knowledge/2174/