2016-12-15 102 views
0

我的問題是,當我在laravel blade(不是master)中定義一個段時,我無法在頁面上顯示它的內容,但是如果我在master.blade.php上生成它,它就可以正常工作。那麼,如何讓這個頁面顯示:Laravel @ section does not showing

部分「內容」 節「模板」

@extends('layouts.master') 

@section('title', 'Website Builder') 
@section('content') 
    <script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
    <script type="text/javascript" src="{!! asset('js/template.js') !!}"></script> 
@endsection 
     @section('template') 
     <div class= "container template_class "> 
      @foreach ($templates as $template) 
     <a class="content-link" href="{{ asset($template->file)}}"> 
     <img id = "image" src="{{ asset($template->image)}}"/> 
     </a> 
      @endforeach 
     </div> 
<div id="content-link2"></div> 
      <div class="container"> 
      @yield('content') 
      @yield('template') 
     </div> 
@endsection 
@show 
+0

文檔不夠清楚嗎? – Kyslik

+0

我不會問是否清楚 –

+0

伴侶請重新閱讀文檔你所問的是在那裏......通過「讀」我的意思是讀不只是脫脂。 '在這個例子中,側邊欄部分利用@parent指令將內容附加到(而不是覆蓋)到佈局的側邊欄。當渲染視圖時,@ parent指令將被佈局內容替換。' – Kyslik

回答

1

所以,如果你已經在總體佈局定義的@section,這將是除非您在子佈局的@section中指定@parent

但是對於@yield,它總是從子佈局中獲取該部分。這意味着它總是會覆蓋@yield部分,即使它有一個默認定義爲@yield('section', 'Default Content')

希望這能奏效!

+0

好吧,爲什麼我的@部分('模板')不顯示記住它是一個子佈局 –

+0

@PrzemekWojtas你有你的'@yield('template')'在你的'@section('template')'和'@ endsection'裏面。你需要將'@yield('template')'放在'@section('template')@ endsection'之外。 –

+0

但是這很有道理,爲什麼@yield('template')被應用到整個網站的所有頁面,而我只在這個子佈局中使用它? –