投稿

ラベル(Request)が付いた投稿を表示しています

LaravelのBlade内で現在のページのURLによってCSSを切り替える方法

イメージ
例えば、メニューに active や current などの クラス を追加したい、特定のページだけ CSS の クラス を切り替えたくなることが多々あります。 そんな時は、 Laravel の Request::is() 関数を使って条件分岐させましょう。 現在のURLを判定する 使い方はとっても簡単です。 @if(Request::is('admin')) true @elseif false @endif URL が http(s)://www.example.com/home だったら「 true 」、それ以外なら「 false 」を返します。 Blade 内でなければこのように書きます。 if ($request->is('admin/*')) { // } Blade内でCSSの切り替え 今回は CSS の クラス を切り替えることを前提に書いていますが、もちろん他の要素やテキストや画像のコンテンツを分岐するのにも応用できます。 以下は、現在の URL が home の時だけ class="active" を追加する例です。 <li {!! (Request::is('home') ? 'class="active"' : '') !!}> <a href="/home"><i class="fa fa-dashboard"></i> ホーム</a> </li> このような書き方もできます。 <li @if(Request::is('home')) class="active" @endif> <a href="/home"><i class="fa fa-dashboard"></i> ホーム</a> </li> また、 ワイルドカード による パターン 指定もできます。 以下のよう...