【问题标题】:How to active menu in Laravel 5.4 with Metronic theme如何在具有 Metronic 主题的 Laravel 5.4 中激活菜单
【发布时间】:2017-06-30 07:09:01
【问题描述】:

我正在使用 Metronic 主题在 Laravel 5.4 中开发一个 Web 应用程序。我是

开发管理部分,我使用四个不同的文件集成主题,如

页眉、侧边栏、页脚和 ma​​in.blade.php 文件。

<!DOCTYPE html>
<html lang="en">
    @include('admin.Includes.head')

    <body class="page-boxed page-header-fixed page-container-bg-solid page-sidebar-closed-hide-logo ">
            @include('admin.Includes.header')


        <div class="container">
            <!-- BEGIN CONTAINER -->
            <div class="page-container">
               @include('admin.Includes.sidebar')

                <!-- BEGIN CONTENT -->
                <div class="page-content-wrapper">
                    <div class="page-content">

                     @yield('content')

                    </div>
                </div>
            </div>
            @include('admin.Includes.footer')

        </div>
    </body>
</html>

现在我想激活已激活的侧边栏菜单。

假设我在管理仪表板中,那么仪表板菜单应该处于活动状态。如何

激活它。

Metronic 主题使用 class active 我在列表中使用直接 class active

跟随,但它在所有路线中始终处于活动状态。

 <li class="start active" >
                <a href="{{  url('/admin/dashboard') }}">
                <i class="icon-home"></i>
                <span class="title">Dashboard</span>
                </a>
            </li>

如何根据路线激活菜单。

【问题讨论】:

  • 你创建命名路由了吗
  • #fairy no 我的路由文件就像 Route::get('/dashboard', function () { // $exitCode = Artisan::call('cache:clear'); $users[ ] = Auth::user(); $users[] = Auth::guard()->user(); $users[] = Auth::guard('admin')->user(); //dd( $users); return view('admin.home'); })->name('home');
  • 设置一个条件,如果当前路线和您的路线匹配,则使菜单处于活动状态,否则不
  • 您可以使用以下方式激活它:&lt;li class="{{ Request::is('/admin/dashboard') ? 'active' : '' }}"&gt;&lt;a href="/admin/dashboard"&gt;Dashborad&lt;/a&gt;&lt;/li&gt;
  • @PankajMakwana 我知道这个解决方案,但如果可能的话,我想成为 laravel 的标准

标签: php laravel laravel-5.4


【解决方案1】:

**您可以请求当前网址并与您的页面网址匹配**

<li class="start <?php if(Request::url() === 'your url here') echo 'active'; endif ?> >
<a href="{{  url('/admin/dashboard') }}"> 
<i class="icon-home"></i> <span class="title">Dashboard</span> </a> 
</li>

【讨论】:

    【解决方案2】:

    检查您所在的路线是否符合条件。

    例子:

    @if ($route == 'App\Http\Controllers\AgreementController@archived')
        <h1>Archived Agreements</h1>
    @else
        <h1>Agreements</h1>
    @endif
    

    【讨论】:

      【解决方案3】:

      您可以从控制器传递活动变量

      用户控制器.php

      /**
       * Constructor.
       */
      public function __construct() {
          view()->share('activeUser', TRUE);
      }
      

      查看

      &lt;li class="{{ isset($activeUser) ? 'active' : '' }}"&gt;

      【讨论】:

        【解决方案4】:

        我使用两个步骤激活了当前菜单

        第 1 步:->

        我在Controller中添加了分享功能

                    public function __construct()
                    {
                        View::share(['page_name_active'=> 'admin/dashboard']);       
                    }
        

        第 2 步:->

        <li class="@if($page_name_active=='admin/dashboard')active @endif">
            <a href="{{  url('/admin/dashboard') }}">
               <i class="icon-home"></i>
                <span class="title">Dashboard</span>
            </a>
        </li>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-24
          • 2018-02-19
          • 1970-01-01
          • 2012-06-10
          • 2021-03-03
          • 2014-06-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多