2014-07-03 30 views
8

verebilir miyim? Laravel blade'de RightSideBar.blade.php adlı bir düzenim varsa, bir alan verimi ('içerik') ve diğer verim ('kenar çubuğu'). RightSideBar genişleten görünümün bir bölüm ('kenar çubuğu') yoksa, varsayılan kısmi görüntülemek için bir yol var mı?Laravel blade: Varsayılan bir kısmi

+4

Gerçekten basit, dokümanlar varsayılan olarak bir dize olarak belirtilmiş olsa da, aslında bir görüntüyü geçirebilirsiniz @yield ('kenar çubuğu', \ Görünüm :: make ('defaultSidebar')) – user3238419

+2

Yorumunuz göz önüne alındığında Bir cevap, yorumunuzu yanıt olarak göndermek için çok daha iyi olurdu. – lozadaOmr

cevap

16

Evet documentation

@yield('sidebar', 'Default Content');

baktığımızda varsayılan

geçebilir (kısmi varsayılan yapmak için bir yol yoktur diye merak, varsayılan olarak bir değer iletebilirsiniz biliyorum) temelde çocuk şablonu olmayan bir varsayılan çıkış koyar

@section('sidebar')

+1

bu doğru değil. Bir kısmi işlemek için sadece bir dizeyi geçemezsiniz, bunun yerine @ user3238419 yukarıda önerildiği gibi yapın, View :: make (pathtoview) – Juan

+0

Bence OP, yorumda belirtildiği gibi yapabileceğinin farkında olduğunu söyledi. Cevabım yanlış mıydı, çünkü bir ipucu ve bir bıçak olarak bir örnek verdim. – lozadaOmr

+0

evet çünkü o açıkça söyledi: "Ben varsayılan olarak bir değer geçebilir biliyorum ..", ve aynı zamanda soru kısmi değil, düz bir dize soruyor. – Juan

4

biz birden fazla satır varsayılan içeriği istediğiniz çoğu zaman, bu sözdizimini kullanabilirsiniz:

Örneğin
@section('section') 
    Default content 
@show 

Ben şablon dosyasında bu var:

@section('customlayout') 
    <article class="content"> 
     @yield('content') 
    </article> 
@show 

Sen @show arasındaki farkı görebilirsiniz @/durdur @ endsection: Yukarıdaki kod aşağıda birine denktir:

diğer görünüm dosyalarında
@section('customlayout') 
    <article class="content"> 
     @yield('content') 
    </article> 
@stop 

@yield('customlayout') 

Ben sadece içeriği ayarlayabilirsiniz ya:

@section('content') 
    <p>Welcome</p> 
@stop 

Ya da farklı bir düzen ayarlayabilirsiniz:

@section('content') 
    <p>Welcome</p> 
@stop 
@section('defaultlayout') 
    <div> 
     @yield('content') 
    </div> 
@stop 

@stop @endsection olarak eşdeğerdir.

İlgili konular