2017-11-29 5 views
0

中の親や潜水艦のためのアクティブなクラスを作成します。私はこのようなメニューを持ってLaravel

<li class="treeview"> 
     <a href="#"><i class="fa fa-comment"></i> <span>Comments</span> 
      <span class="pull-right-container"> 
       <i class="fa fa-angle-left pull-right"></i> 
      </span> 
     </a> 
     <ul class="treeview-menu"> 
      <li><a href="http://blog.dev/member/comments">All Comments</a></li> 
      <li><a href="http://blog.dev/member/comments?q=me">My Comments</a></li> 
      <li><a href="http://blog.dev/member/comments?q=approved">Approved</a></li> 
      <li><a href="http://blog.dev/member/comments?q=disapproved">Disapproved</a></li> 
     </ul> 
    </li> 

私は例えばサブメニューをクリックしたときに私が欲しいのは、「私のコメント」メニュー、コメントメニューと私のコメントアクティブ意志でありますこのようなクラスを持っている

<li class="active"><a href="#"><i class="fa fa-comment"></i> <span>Comments</span></a></li> 
    <li class="active active-sub"><a href="http://blog.dev/member/comments?q=me">My Comments</a></li> 

どのように私はこれを行うことができますか?ありがとう

答えて

0

はこれを試してみてください:

<li class="treeview {{ (request()->is('member/comments')) ? 'active':'' }}"> 
    <a href="#"><i class="fa fa-comment"></i> <span>Comments</span> 
     <span class="pull-right-container"> 
      <i class="fa fa-angle-left pull-right"></i> 
     </span> 
    </a> 
    <ul class="treeview-menu"> 
     <li class="{{ (request()->is('member/comments') && (request('q') == '')) ? 'active active-sub':'' }}"> 
      <a href="http://blog.dev/member/comments">All Comments</a> 
     </li> 
     <li class="{{ (request('q') == 'me') ? 'active active-sub':'' }}"> 
      <a href="http://blog.dev/member/comments?q=me">My Comments</a> 
     </li> 
     <li class="{{ (request('q') == 'approved') ? 'active active-sub':'' }}"> 
      <a href="http://blog.dev/member/comments?q=approved">Approved</a> 
     </li> 
     <li class="{{ (request('q') == 'disapproved') ? 'active active-sub':'' }}"> 
      <a href="http://blog.dev/member/comments?q=disapproved">Disapproved</a> 
     </li> 
    </ul> 
</li> 
0

Requestのパターンを受け入れるオブジェクトでis()メソッドを使用できます。例えば、<li class="{{ request()->is('comments*') ? 'active' : '' }}">。それは、uri 'comments'の単語のどこかに 'active'クラスが追加された場合に意味します。もちろん、より具体的にすることもできますし、ワイルドカードを使用することもできます。

+0

それは動作しません。 – Ying

0

if節を使用する方法です。

{{Request::is('sample-url') ? 'class="active"' : ''}} 

(URLの 'サンプル-URLが' がある場合は、URLを確認し、次に= "アクティブ" クラスを返し、空で返されません。)

+0

動作しません。 – Ying

+0

ブレードファイルでスクリーンショットを共有できますか? –

0

このパッケージhttps://www.hieule.info/products/laravel-active-version-3-releasedを試してみてください。現在のルートがあなたの状態と一致するかどうかを確認するヘルパーメソッドを提供しています。あなたのルートがcomments.index命名されているものと

comments.my_commentsなど

<li class="{{ active_class(if_route('comments.*')) }}"> 
    <a href="#"><i class="fa fa-comment"></i> 
    <span>Comments</span></a> 
</li> 
関連する問題