2017-07-18 1 views
1

Je veux mettre active classe à mes voies actives, j'ai essayé ci-dessous approche, mais il ne fonctionne pasLaravel Réglage classe active à la navigation

La page navside.blade.php

<ul class="sidebar-menu collapsible collapsible-accordion" data-collapsible="accordion"> 
    <li class="no-padding {{ Request::is('/manager/dashboard') ? 'active' : '' }}"> 
     <a class="waves-effect waves-grey" href="{!! URL::asset('/manager/dashboard')!!}"> 
      <i class="material-icons">settings_input_svideo</i>Dashboard 
     </a> 
    </li> 
    <li class="no-padding {{ Request::is('/manager/orders') ? 'active' : '' }}"> 
     <a class="waves-effect waves-grey" href="{!! URL::asset('/manager/orders')!!}"> 
      <i class="material-icons">shopping_cart</i>Orders 
     </a> 
    </li> 
    <li class="no-padding {{ Request::is('/manager/outlets') ? 'active' : '' }}"> 
     <a class="waves-effect waves-grey" href="{!! URL::asset('/manager/outlets')!!}"> 
      <i class="material-icons dp48">store</i>Outlets 
     </a> 
    </li> 
    <li class="no-padding {{ Request::is('/manager/reports') ? 'active' : '' }}"> 
     <a class="waves-effect waves-grey" href="{!! URL::asset('/manager/reports')!!}"> 
      <i class="material-icons dp48">receipt</i>Reports 
     </a> 
    </li> 
    <li class="no-padding {{ Request::is('/manager/manage') ? 'active' : '' }}"> 
     <a class="waves-effect waves-grey" href="{!! URL::asset('/manager/manage')!!}"> 
      <i class="material-icons dp48">input</i>Manage 
     </a> 
    </li> 
</ul> 

Et mes itinéraires sont

Route::group(['prefix' => 'manager', 'middleware' => ['auth','roles'], 'roles' => 'manager'], function() { 

    Route::get('/dashboard', '[email protected]')->name('dashboard'); 

    Route::get('/orders', '[email protected]')->name('orders'); 
    Route::get('/orders/{order_id}', '[email protected]')->name('orderDetails'); 
    Route::post('/assign_orders', '[email protected]')->name('assignOrder'); 

    Route::get('/outlets', '[email protected]')->name('outlets'); 

    Route::get('/reports', '[email protected]')->name('reports'); 

}); 

Je ne ai essayé quelques différentes approches comme

1 {{ Request::segment(1) === 'programs' ? 'active' : null }} 

    2 class="@if(Request::url()== url('/home') active @endif" 

mais ils din't travailler l'éther

merci

Répondre

3

Vous pouvez essayer: (Route::current()->getName() == 'routename') ? 'active' : null

Vous pouvez également en faire une fonction d'aide au lieu de copier coller le plein instruction if.

+0

bien cela fonctionne, merci beaucoup pour votre temps vraiment l'apprécier, et qu'en est-il des routes dynamiques comme 'order/{id}' –

+1

Ils auront aussi des noms de route si vous utilisez 'Route :: resource()' soyez 'orders.show' mais dans votre cas c'est' orderDetails' vous pouvez vérifier tous les noms avec la commande console 'php artisan route: list' – Joeri