私はLaravelのコード作成方法を学んでいます。これは、シンプルなシステム(主にWPとraw PHP)で長時間作業した後です。このために私はここにLaravel 5のためのチュートリアル以下の最新バージョンを実行している:Laravel @sectionと@showはデフォルトのコンテンツを無視します - なぜですか?
https://tutorials.kode-blog.com/laravel-blade-template
は、しかし、私が問題に遭遇しました。 /resources/views/layouts/master.blade.php
にあるマスターレイアウトは、これを含ま
@extends('layouts.master')
@section('title', 'Page Title')
@section('sidebar')
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
:
私はそれが次の内容の/resources/views/page.blade.php
上のファイルを作成するように求められ、マスターレイアウトセクションを、拡張
によ<html>
<head>
<title>@yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
チュートリアルによると、ルーティング後http://localhost/larashop/public/blade
を訪問した結果は、行の中で何かをする必要があります:
This is the master sidebar.
This is appended to the master sidebar.
This is my body content.
しかし、代わりに私が取得しています:
This is appended to the master sidebar.
This is my body content.
コードがThis is the master sidebar.
コードの一部、または@section('sidebar')
からのコンテンツに置き換えることを無視して、何らかの理由で、あります。そうでない場合は、コードが正常に処理されていることを追加します。マスターテンプレートの<p></p>
と<div></div>
が必要な場所に表示されます。サイドバーのデフォルトのコンテンツはそうではありません。 @show
を@yield('sidebar')
に置き換えても正しく表示されますが、何が起こっているのか、何らかの理由で間違っているのが本当に不思議です。
私はチュートリアルが5.0用であり、5.4上にあるので、バージョンの違いがあると思われますが、私は変更が何であるか、なぜそうであるかを私に指摘するものは見つけられません。私はこのようなより多くの問題を見つけることを恐れるので、先に進んでください。
私はすでにチュートリアルと私のインストールの違い、つまり/app/Http/routes.php
がであることを発見しましたが、その情報はかなり簡単に見つかりました。この1つのために私は何も見つけることができないので、誰も私を助けることができる?
これについて詳しく説明しますか? @section( 'content')はうまく動作し、セクションを開くことなく@endsectionを使う理由がわかりません。チュートリアルは間違っていますか? – Tizzy
私は人が@ sentection( 'content')を@endsectionなしで利用する方法を見ていないので、チュートリアルでは少し間違いがあるかもしれません。 [リンク](https://laracasts.com/series/laravel-from-scratch-2017)にアクセスして、laravelに関する良いチュートリアルをご覧ください。また、laravel 5.4のブレードのドキュメントも参照してください。[link](https://laravel.com/docs/5.4/blade) –
問題の内容を確認しました。 page.blade.phpにありましたが、唯一の問題は、このセクションには '@ parent'がないことでした。あなたのリンクをありがとう、私は彼らの答えを見つけた:D – Tizzy