コンテンツの挿入を停止してセクションを上書きする


Blade

 悩み事

Bladeセクションでコンテンツの挿入を停止させたい

コンテンツの挿入を行わずに、同じ名前の前のセクションを上書きしてみましょう

 解決方法

Bladeの@overwrite構文を利用します

@section('test')
   one
@stop
@section('test')
   two
@stop
@yield('test')

上記の記述は次の様に出力されます

one

二つ目の @stop から @overwrite へ変更します

@section('test')
   one
@stop
@section('test')
   two
@overwrite
@yield('test')

次の様に出力されます

two

 アドバイス

@overwriteは4種類のセクション終了方法のうちの1つです

他の3つの方法は:

  1. @stop - セクションへの挿入を終了する.
  2. @show - Bladeテンプレートで現在のセクションを取得する.
  3. @append - レンダリングを停止してセクションを追加する.