Append

特に問題なしの例

1)デフォルトのまま実行する

グループコード:810/834の2系統に分かれる。
headerとnavに差分があって、共通部分だけをbase layoutに出力し、差分を@section…@endsectionでchild viewに出力する。
差分の中身はclassとページタイトル。

[例:blog-details.blade.php]

@section('diff_331269')
  <li><a href="blog">Blog</a></li>    blog.htmlだけclass="active"が指定されているから差分として検出してる
@endsection

<main>...</main>に2ケ所ページタイトルが書かれている場所があって、そこも差分として検出している。

@section('diff_331306')
  <h1>Blog Details</h1>
@endsection

@section('diff_331316')
  <li class="current">Blog Details</li>
@endsection

 

2)階層レベル:6でsubviewに分離する
Subviewに分離できるのはfooterだけ。
headerとnavに差分があるし、sidebarはもともとないのね、コレ。

ちなみに、例えば、
<header>
  :
  <nav>
    :
  </nav>
  :
</header>

のように入れ子になっている場合、<nav>...</nav>はheaderの要素としてみなし、独立した<nav>として認識してないので、
その部分だけを切り取ってsubviewに分離することはできません。

 

3)階層レベル:1で実行する
グループコード:8になって、base layoutが1つにまとまりシンプルな感じ。
階層レベル:6と違って、もっと上位層で差分を比較するから、classに差分があるheaderが丸ごとchild viewに出力される。
つまり、base layoutが短くなる分、child viewのレコード数が増える。subviewへの分離をどう変えても、分離できるのはfooterだけ。
この辺は、好みの問題ですかねぇ~。

 

4)階層レベル:2以降は、階層レベル:6と同じ結果。

 

-- バグ見っけ --

こうなってる↓
  <div id="preloader">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  </div>

正解↓
  <div id="preloader">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>