2016-12-15 5 views
0

Моя проблема заключается в том, что когда я определяю раздел в лезвии laravel (а не master), я не могу отображать его содержимое на странице, однако, если я его уступлю на master.blade.php, он отлично работает. Так как я могу сделать эту страницу дисплея:Laravel @section не отображается

раздел «содержание» раздел «Шаблон»

@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

Mate, пожалуйста, перечитайте документацию, что вы просите, прямо там ... «прочитал». Я имею в виду, ЧТО ПРОЧИТАТЬ не просто обезжирить. 'В этом примере секция боковой панели использует директиву @parent для добавления (а не перезаписи) содержимого к боковой панели макета. Директива @parent будет заменена содержимым макета при визуализации представления. ' – Kyslik

ответ

1

Так что, если у вас уже есть @section, определенный в основной макет, это будет override, если вы не укажете @parent внутри дочернего макета @section.

Но для @yield он всегда получает раздел от детской планировки. Это означает, что он всегда переопределяет часть @yield, даже если она имеет значение по умолчанию @yield('section', 'Default Content')

Надеюсь, что это сработает!

+0

хорошо, так почему мой @section ('template') не отображается с учетом того, что это дочерний макет. –

+0

@PrzemekWojtas у вас есть '@yield ('template')' внутри вас '@section ('template')' и '@ endsection'. Вам нужно разместить свой '@yield ('template')' вне вашего '@section ('template') @ endsection'. –

+0

Это имеет смысл, однако, почему @yield ('template') применяется ко всем страницам на веб-сайте, а я использовал его только в этом макете для ребенка? –

Смежные вопросы