header.blade.php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>@yield('title')</title> <link rel="stylesheet" href="css/styles.css"> </head> @yield('header')
body.blade.php
<body> <div class="container"> @yield('body') </div> </body>
footer.blade.php
@yield('footer') </html>
上3つのテンプレートを共通テンプレートとして下記でextendsして呼び出しています。
index.blade.php
@extends('layouts.header') @extends('layouts.body') @extends('layouts.footer') @section('title', 'タイトル') @section('header', 'ヘッダー表示領域です') @section('body') <h1>Posts</h1> <ul> <li><a href="">title</a></li> <li><a href="">title</a></li> <li><a href="">title</a></li> </ul> @endsection @section('footer', 'フッター表示領域です')
しかし、ヘッダーとフッターの表示位置が想定の逆になっています。
試しに
@extends('layouts.footer')
@extends('layouts.body')
@extends('layouts.header')
と逆にしてみると想定の表示位置になってはいるのですが、
ヘッダーがあってコンテンツがあってフッターがあるのが普通なので
納得いきません。
何が原因でどうすれば
@extends('layouts.header')
@extends('layouts.body')
@extends('layouts.footer')
の順で想定している表示位置にすることができるのでしょうか。
header.blade.phpでは間違いなく@yield('header')としているので
header.blade.phpとfooter.blade.phpで使っているidが逆ではないことは確かだと思うのですが、、、
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。