我正在使用Metronic主题在Laravel 5.4中开发一个Web应用程序。我是
开发管理部分,我使用四个不同的文件集成主题,例如
页眉,侧边栏,页脚和主刀片.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主题使用类活动我正在使用直接类在列表中活动
跟随,但它始终在所有路线中处于活动状态。
<li class="start active" >
<a href="{{ url('/admin/dashboard') }}">
<i class="icon-home"></i>
<span class="title">Dashboard</span>
</a>
</li>
如何根据路线激活菜单。
**您可以请求当前网址并与您的页面网址匹配 **
<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>
检查您所在的路线是否符合条件。
例:
@if ($route == 'AppHttpControllersAgreementController@archived')
<h1>Archived Agreements</h1>
@else
<h1>Agreements</h1>
@endif
您可以从控制器传递活动变量
用户控制器.php
/**
* Constructor.
*/
public function __construct() {
view()->share('activeUser', TRUE);
}
视图
<li class="{{ isset($activeUser) ? 'active' : '' }}">
我使用两个步骤激活了当前菜单
步骤1:->
我在控制器中添加了共享功能
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>