演習課題「共通テンプレートを利用する」
右の環境には、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/