LoginSignup
0
1

More than 5 years have passed since last update.

Laravelのbladeで条件によって表示を切り替える

Posted at

これは TOWN Advent Calendar 2018 25日目のエントリーです。

今回はお仕事と関係なく、Laravelのお話。

laravelcollective

2018年においてPHPのフレームワークといえば、Laravel一強な感じもありますがLaravel本体のアップデートも頻繁に行われており、Larvel5からFormはコアモジュールから削除されていて、LaravelCollectiveという別プロジェクトに移管されていたりします。

ちなみにインストールするときには

composer require "laravelcollective/html":"^5.X.0"

のようにLaravelのバージョンに合わせたバージョンをインストールする必要があります。

bladeで表示を切り替える

Request::is()でURLの一致判定が行なえます。ワイルドカードも使用可能です。

の isActiveUrl と組み合わせることで、こんな感じで共通パーツだけど条件によって表示を切り替える事が可能になります。

      @if(Request::is('posts*'))
      <a class="navbar-brand" href="{{ action('PostController@index') }}">{{ __('Roadmap') }}</a>
        <ul class="navbar-nav">
          <li class="nav-item {{ isActiveUrl('posts') }} ">
            <a href="{{ action('PostController@index') }}" class="nav-link">{{ __('List') }}<div class="ripple-container"></div></a>
          </li>
          <li class="nav-item {{ isActiveUrl('posts/create') }} ">
            <a href="{{ action('PostController@create') }}" class="nav-link">{{ __('Register') }}</a>
          </li>
        </ul>
        @endif

なお、LaravelのURLでは

みたいに最後に「/」がつかないケースがあるので、

@if(Request::is('blogs/*'))

みたいなパターンだとマッチしないことがあります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1