我正在學習如何使用簡單的系統(主要是WP和原始PHP)很久以後編寫Laravel的代碼。對於這個我運行的最新版本和教程Laravel 5這裏以下:Laravel @section和@show忽略默認內容 - 爲什麼?
https://tutorials.kode-blog.com/laravel-blade-template
不過,我遇到了一個問題。我在擴展總綱部分,它要求你在/resources/views/page.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/layouts/master.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>
會出現在他們應該在的位置。這只是側邊欄的默認內容。如果我用@yield('sidebar')
代替@show
,但它真的很好奇,但我真的很好奇這裏發生了什麼,如果由於某種原因我做錯了什麼。
我相信可能會有一個版本的差異,因爲教程是5.0和我在5.4,但我找不到任何指向我的變化是什麼,爲什麼,我想知道這之前我繼續前進,因爲我擔心我會發現更多像這樣的問題。
我已經找到教程和我的安裝之間的區別,即/app/Http/routes.php
而不是/routes/web.php
,但那一個很容易找到有關信息。對於這個我找不到任何東西,所以有人能幫助我嗎?
你願意詳細說明嗎? @section('content')工作正常,我不明白爲什麼我們會使用@endsection而沒有打開部分。該教程是否錯誤? – Tizzy
這可能是在教程中存在一個小錯誤,因爲我沒有看到一個人如何在沒有@endsection的情況下使用@section('content')。請訪問[link](https://laracasts.com/series/laravel-from-scratch-2017),獲取有關laravel的良好教程。還查看laravel 5.4刀片文檔[鏈接](https://laravel.com/docs/5.4/blade) –
找出問題所在。它在page.blade.php上,但唯一的問題是該部分缺少「@ parent」。感謝您的鏈接壽,我發現他們的答案:D – Tizzy