2013-09-06 1 views
5

Я ищу загрузочный сайт и, как таковой, поставил общие компоненты бутстрапа twitter в шаблоны клинков.Раздел шаблонов клинков Laravel Повторная ошибка кэша

sidebar.blade.php

@include('panel1') 
@include('panel2') 

panelTemplate.blade.php

<div class="panel panel-primary"> 
    <div class="panel-heading"> 
     <div class="panel-title"> 
      @yield('title') 
     </div> 
    </div> 
    <div class="panel-body"> 
      @yield('body') 
    </div> 
    <div class="panel-footer"> 
      @yield('footer') 
    </div> 
</div> 

Таким образом, каждый раз, когда я хочу использовать панель, то я могу использовать @extends('panelTemplate').

panel1.blade.php

@extends('panelTemplate') 
@section('title') 
title panel 1 
@stop 

@section('body') 
body panel 1 
@stop 

@section('footer') 
footer panel 1 
@stop 

panel2.blade.php

@extends('panelTemplate') 
@section('title') 
title panel 2 
@stop 

@section('body') 
body panel 2 
@stop 

@section('footer') 
footer panel 2 
@stop 

Проблема, с которой я столкнулся в том, что вместо того, чтобы показать содержимое panel1.blade.php, затем содержимое panel2.blade.php в заявлено в sidebar.blade.php, повторяется содержимое panel1.blade.php (показано дважды).

Is Blade кэширует запрос, почему панель 1 повторяется дважды? Есть ли способ отменить это поведение, или я использую механизм шаблонов лезвия таким образом, который он никогда не предназначался?

ответ

7

Вы можете достичь этого overwriting секции .. попробовать то, что у вас есть уже, но с этими двумя обновленными подразделам просмотров:

panel1.blade.php

@extends('panelTemplate') 

@section('title') 
title panel 1 
@overwrite 

@section('body') 
body panel 1 
@overwrite 

@section('footer') 
footer panel 1 
@overwrite 

panel2. blade.php

@extends('panelTemplate') 

@section('title') 
title panel 2 
@overwrite 

@section('body') 
body panel 2 
@overwrite 

@section('footer') 
footer panel 2 
@overwrite 

Это проверено и работает здесь, хотя я не конечно, это предполагаемое использование @overwrite, поэтому тщательно проверьте!

+0

Nice !!! Благодаря!!! – Gravy

+0

Отличный ответ! К сожалению, ваша ссылка не работает, и я не могу ничего найти о '@ overwrite' в документах. Рад, что ответ здесь! – samrap

+0

@samrap - вот вы, ссылка исправлена ​​:) - Это было в версии 4.2, вам нужно будет проверить v5 из Laravel .. – msturdy

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

  • Нет связанных вопросов^_^