2017-07-08 72 views
1

工作,我有喜歡的結構部位:產量不節Laravel刀片

第一:master.blade.php:這包含section('content')

<body> 
    @include('partial.header') 
    @yield('content') 
    @include('partial.footer') 
</body> 

index.blade.php:含有section('content')

@extends('layouts.master') 
@section('content') 
<div id="container"> 
    <div id="news"> 
     @yield('news') 
    </div> 
    <div id="apartment"> 
     @yield('apartment') 
    </div> 
</div> <!-- ./container --> 
@endsection 

三:news.blade.php:這個簡單的顯示所有news

@foreach($posts as $post) 
@endforeach 

最終文件:apartment.blade.php:這個簡單的顯示所有apartment

@foreach($apartments as $apartment) 
@endforeach 

我的路線直接到master.blade.php。 我的問題是:

  1. 當我包括newsindex.blade.php@yield('news')。它顯示了我的數據庫中正確的所有news。 但是當我在index.blade.php中刪除@yield('news')時。它也顯示我的數據庫中的news(但它爲此丟失了css/js)。 爲什麼我刪除@yield('news'),它應該在我的頁面上不顯示任何news

  2. 似乎Laravel刀片不支持兩個@yield@section。當我在index.blade.php文件中只添加1行@yield('news')時。它顯示我的索引頁上的列表新聞。當我繼續添加@yield('apartment')。索引頁上沒有顯示任何公寓。我當然有它的價值,當foreach來獲取數據。我也用HTML靜態測試,但沒有任何更改。

+0

如果你想添加其他模板使用include不包括包含部分模板 – Exprator

+0

你的想法是:'@include('news')'? – vanloc

+0

是的。這就是你如何包括。或者你可以搜索在laravel中包含模板,如果這不起作用 – Exprator

回答

0

我的路線直接到master.blade.php。

索引擴展主,因此將您的路線指向索引視圖。

如果部分繼續被放棄,在@yield刪除後,我認爲框架正在加載一個緩存視圖。

嘗試清除視圖緩存php artisan view:clear或使用php artisan --help view:clear尋求幫助。

另外@yield會在父子關係中產生一段。

如果新聞位於部分文件夾或任何路徑中,請將收益更改爲包括像@include('partial.news')。渲染可以使用@isset@empty語句或甚至@forelse循環來操縱。

Blade Control Structures