Ответ 1
Используйте метод is()
. Например:
<li class="{{ request()->is('sites/*/edit') ? 'active' : '' }}"
Я пытаюсь установить активный класс в свой элемент списка, но он не работает.
Мой код в клинке:
@foreach($data as $site)
<ul class="sidebar-menu" id="second-menu">
@if(isAdmin())<li class="{{-- active class for url parameter --}}"><a href="{{ url('sites/'.$site->id.'/edit') }}" >{{ $site->name }}</a></li>
@endif
</ul>
@endforeach
Итак, если я пишу: li class= "@if (getRouteName() == 'site @index') {{'active'}} @endif", это работает хорошо, но в моем случае проблема в том, что я хочу получить "активный" класс в сайтах foreach /. $site-> id. '/edit
Большое спасибо.
Используйте метод is()
. Например:
<li class="{{ request()->is('sites/*/edit') ? 'active' : '' }}"
В настоящее время я использую Laravel 5.6. * И мое решение:
<a href="#" class="nav-link {{ request()->is('users*') ? 'active' : '' }}">Users</a>
Вы можете попробовать это также
<a href="#" class="{{ (\Request::route()->getName() == 'put the address of your route here or your route name') ? 'active' : '' }}">
например:
<a href="#" class="{{ (\Request::route()->getName() == 'admin') ? 'active' : '' }}">
Примечание. Я тестирую только в Laravel 5.5
Существует также следующее, если вы назвали свой маршрут:
<li class="{{ Request::routeIs('admin') ? 'active' : '' }}">...</li>
//my admin.app.blade file
<ul class="nav">
<li class="nav-item @yield('query')">
<a class="nav-link" href="{{route('query_page')}}">
<i class="material-icons">query_builder</i>
<p>Queries</p>
</a>
</li>
<li class="nav-item @yield('feedback')">
<a class="nav-link" href="{{route('feedback_page')}}">
<i class="material-icons">feedback</i>
<p>Feedback</p>
</a>
</li>
</ul>
//query.blade
@extends('admin.app')
@section('title', 'Query Manager')
@section('page-heading', 'Query Manager')
@section('query','active')
//feedback.blade
@extends('admin.app')
@section('title', 'Feedback Manager')
@section('page-heading', 'Feedback Manager')
@section('feedback','active')
Сделайте функцию в помощнике.
function activeMenu($uri = '') {
$active = '';
if (Request::is(Request::segment(1) . '/' . $uri . '/*') || Request::is(Request::segment(1) . '/' . $uri) || Request::is($uri)) {
$active = 'active';
}
return $active;
}
Используйте его на боковой панели.
<li class="{{ activeMenu('dashboard') }}"></li>
<li class="{{ activeMenu('student') }}"></li>
<li class="{{ activeMenu('teacher') }}"></li>
Используйте короткие, если. Пример:
<a href="#" class="{{ (\Request::route()->getName() == 'this.route') ? 'active' : '' }}">