【问题标题】:laravel highlight menu item of current page when using include header使用包含标题时,laravel 突出显示当前页面的菜单项
【发布时间】:2018-04-09 21:25:29
【问题描述】:

我使用@include 在所有页面中包含标题,但问题仍然在主页项目上突出显示,我如何突出显示活动页面项目 例子: 活动的 css 是 current-menu-parent

     <ul class="menu-list text-uppercase">
      <li class="current-menu-parent">
       <a href="{{url('/')}}" title="">Home</a>
        </li>
            <li>
               <a href="{{route('cdashboard')}}" class="btn_signin" title="">MY DASHBOARD</a>
       </li>

【问题讨论】:

    标签: jquery css laravel


    【解决方案1】:

    Laravel/Blade 不能自己自动完成。

    你应该检查当前路由名称,如果它等于对应的路由,所以添加current-menu-parent类来对应li

    作为提示:

    <li @if(Route::currentRouteName() === 'route_name') class="current-menu-parent" @endif>
    

    更新:

    您也可以通过 Route-Path 而不是 Route-Name 来做到这一点:

    <li @if(\Illuminate\Support\Facades\Request::is("/route_url")) class="current-menu-parent" @endif>
    

    【讨论】:

    • YaserKH 谢谢
    【解决方案2】:

    我用这个方法 我的助手

    function menuActive($route_name)
    {
        return Route::currentRouteName() == $route_name ? 'active' : '';
    }
    

    用途

      <li class="{{menuActive('cdashboard')}}">
               <a href="{{route('cdashboard')}}" class="btn_signin" title="">MY DASHBOARD</a>
      </li>
    

    【讨论】:

      【解决方案3】:

      Laravel/Blade 不能自己自动完成。

      你应该检查当前路由名称,如果它等于对应的路由,所以添加current-menu-parent类来对应li。

      编辑后的代码是

      <ul class="menu-list text-uppercase">
      <li @if(Route::currentRouteName() === 'route_name') class="current-menu-parent" @else class="class-name" @endif>
             <a href="{{url('/')}}" title="">Home</a>
              </li>
                  <li>
                     <a href="{{route('cdashboard')}}" class="btn_signin" title="">MY DASHBOARD</a>
             </li>
      </ul>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-27
        • 2016-02-25
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        • 2011-06-05
        相关资源
        最近更新 更多