【问题标题】:Laravel Setting active class to navigationLaravel将活动类设置为导航
【发布时间】:2017-12-23 04:37:22
【问题描述】:

我想将active 类设置为我的活动路线,我尝试了以下方法但它不起作用

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>

我的路线是

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

    Route::get('/dashboard', 'ManagerController@index')->name('dashboard');

    Route::get('/orders', 'OrdersController@index')->name('orders');
    Route::get('/orders/{order_id}', 'OrdersController@show')->name('orderDetails');
    Route::post('/assign_orders', 'OrdersController@assignDeliveryBoy')->name('assignOrder');

    Route::get('/outlets', 'OutletsController@index')->name('outlets');

    Route::get('/reports', 'ReportsController@index')->name('reports');

});

我确实尝试了一些不同的方法,例如

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

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

但他们不能工作

谢谢

【问题讨论】:

    标签: css laravel laravel-5.4 navigationbar laravel-blade


    【解决方案1】:

    您可以尝试: (Route::current()-&gt;getName() == 'routename') ? 'active' : null

    您也可以将其设为辅助函数,而不是复制粘贴完整的 if 语句。

    【讨论】:

    • 这行得通,谢谢你的时间真的很感激,还有像order/{id}这样的动态路由呢
    • 如果您使用Route::resource(),它们也将具有路由名称,它将是orders.show,但在您的情况下,它是orderDetails,您可以使用控制台命令php artisan route:list检查所有名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多