5

laravelに入り、ブレードテンプレートを操作しようとしていますが、レンダリングしていません。私の例はすべて、laravel のドキュメントに掲載されています。

更新だから、これが
リソース>ビュー> master.blade.phpにある 私のmaster.blade.phpファイルです

<!DOCTYPE html>
<html>
    <head>

        @yield('layouts.header')
    </head>
    <body>
        <div class="container">
            <div class="content">
                <div class="title">Test to Laravel 5</div>
            </div>
        </div>
    </body>
</html>

これが、view/layouts/ にある私のheader.blade.php ファイルです。

@section('header')
    <title>cookie monster</title>
    <link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
    <style>
        html, body {
            height: 100%;
        }

        body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            font-family: 'Lato';
        }

        .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
        }

        .content {
            text-align: center;
            display: inline-block;
        }

        .title {
            font-size: 96px;
        }
</style>
@endsection

ページをレンダリングしようとすると、現時点ではインライン css があってもスタイルが追加されません。これは、ブレード テンプレート エンジンがどのように機能するかをテストしているだけだからです。

4

5 に答える 5

6

@include('layouts.header')ではなく使用したい@yield

@yieldマスター テンプレートで使用して、子ビューで定義できるコンテンツの移動先を指定します。

@include「既存のビュー内からブレード ビューを簡単に含めることができます。」- https://laravel.com/docs/5.1/blade

于 2015-12-30T08:16:42.413 に答える
0

header.blade.phpfromを拡張する必要がありmaster.blade.phpます。の最初の行に次の行を追加します。header.blade.php

@extends('master')

その後、編集できます@yield。収量とセクションは同じでなければなりません。例えば:

master.blade.php

@yield('header')

header.blade.php (@stopの代わりに使用@endsection)

@section('header')
    header content
@stop

pastebin.com リンク:

master.blade.php

header.blade.php

于 2015-12-30T08:18:56.107 に答える
0

レイアウト:

    @yield('header')
</head>
<body>
    <div class="container">
        <div class="content">
            @yield('content')
            <div class="title">Test to Laravel 5</div>
        </div>
    </div>
</body>
</html>

今、あなたはコントローラーで使用します

return view('someview');

そしてコードを見る

@extend('layout')
@section('header')
<title>cookie monster</title>
@endsection
@section('content')
bla-bla-bla, render me IN content section of layout
@endsection

そして結果は

<!DOCTYPE html>
<html>
<head>

<title>cookie monster</title>
</head>
<body>
    <div class="container">
        <div class="content">
            bla-bla-bla, render me IN content section of layout
            <div class="title">Test to Laravel 5</div>
        </div>
    </div>
</body>
</html>
于 2015-12-30T09:14:10.647 に答える
0

あなたのレイアウトは何かを拡張する必要があります。そうすれば、テンプレートで定義された領域を利用できます。

@extends('master')
于 2015-12-30T08:16:23.933 に答える