2013-06-24 64 views
2

我遇到了我的刀片模板問題。出於某種原因,我將我的視圖的內容打印了兩次,一次是我期待的yield,另一次是延長的視圖執行任何操作之前的時間。爲什麼我的刀片模板內容顯示兩次?

我的路線是:

Route::get('/', array('as' => 'home', function() { 
    return View::make('default'); 
})); 

默認視圖(default.blade.php)是這樣的:

@extends('test') 

@section('title') 
    Default 
@show 

@section('content') 
    <p>Content goes here<p> 
@show 

而且測試視圖(test.blade.php)是這樣的:

<h1>Anything above should be be there!</h1> 
<h3>@yield('title')</h3> 
@yield('content') 

這生成:

Default 
<p>Content goes here<p> 
<h1>Anything above should be be there!</h1> 
<h3>Default</h3> 
<p>Content goes here<p> 

回答

4

嘗試

@extends('test') 

@section('title') 
    Default 
@stop 

@section('content') 
    <p>Content goes here<p> 
@stop 
+0

啊,我沒趕上示區別,並停止。謝謝! – vikingsfan19

+0

小心解釋'show'和'stop'之間的區別? – Julian

+2

如果您使用'@ show',Laravel會認爲這是您的默認值,可以由另一個'@section('content')'覆蓋。 –

1

不應該是這樣的...... @stop代替@show

@extends('test') 

@section('title') 
Default 
@stop 

@section('content') 
<p>Content goes here<p> 
@stop