Php 在laravel中动态设置菜单项的活动类
我正在使用Bootstrap4创建一个laravel应用程序 我的主导航菜单位于Php 在laravel中动态设置菜单项的活动类,php,laravel,laravel-5,bootstrap-4,navigation,Php,Laravel,Laravel 5,Bootstrap 4,Navigation,我正在使用Bootstrap4创建一个laravel应用程序 我的主导航菜单位于app.blade.php。我有四个主要的刀片,关于,产品,联系人和博客 然后我需要根据当前页面更改菜单项active class。由于菜单是从app.blade.php动态加载的,我必须在导航菜单中动态设置当前页面的活动类 我所做的是在每个刀片中定义一个名为$currentpage的变量,并将页面名称分配给它,假设它是blog.blade.php <?php $currentPage = 'blog';?&g
app.blade.php
。我有四个主要的刀片,关于,产品,联系人和博客
然后我需要根据当前页面更改菜单项active class。由于菜单是从app.blade.php
动态加载的,我必须在导航菜单中动态设置当前页面的活动类
我所做的是在每个刀片中定义一个名为$currentpage
的变量,并将页面名称分配给它,假设它是blog.blade.php
<?php $currentPage = 'blog';?>
@extends('layouts.app')
@section('content')
因此,这是正确的
但是我想知道这是正确的方法吗?还有什么其他可能的方法来满足我的要求呢
request()->is()
方法:
<li class="nav-item {{ request()->is('blog') ? 'active' : ''}}">
<a class="nav-link " href="{{ url('blog') }}">{{ __('sentence.Blog') }}</a>
</li>
is()
这样,您只需检查当前URL是否与链接URL匹配,而不必在应用程序中的其他位置定义额外的数据。您可以使用
request()->is()
方法:
<li class="nav-item {{ request()->is('blog') ? 'active' : ''}}">
<a class="nav-link " href="{{ url('blog') }}">{{ __('sentence.Blog') }}</a>
</li>
is()
这样,您只需检查当前URL是否与链接URL匹配,而不必在应用程序的其他地方定义额外的数据。在Laravel中动态设置菜单项的活动类,检查以下PHP刀片文件代码,以检查菜单项中的多数组段和设置活动类
@php
$segment1 = Request::segment(1);
$pages = array('blog', 'account', 'profile', 'settings');
@endphp
<li class="@if(in_array($segment1, $pages)) active @endif">
<a href="javascript: void(0);">
<span>Blog</span>
</a>
</li>
@php
$SECTION1=请求::段(1);
$pages=数组('blog'、'account'、'profile'、'settings');
@endphp
在Laravel中动态设置菜单项的活动类,检查下面的PHP刀片文件代码,以检查菜单项中的多个数组段和设置活动类
@php
$segment1 = Request::segment(1);
$pages = array('blog', 'account', 'profile', 'settings');
@endphp
<li class="@if(in_array($segment1, $pages)) active @endif">
<a href="javascript: void(0);">
<span>Blog</span>
</a>
</li>
@php
$SECTION1=请求::段(1);
$pages=数组('blog'、'account'、'profile'、'settings');
@endphp
是的,我更喜欢这种方式,因为我在项目中使用了这种方式。这是正确的。我建议使用三元运算符:(条件)?真:假
;您也可以将会话用于页面,当特定页面在控制器中呈现时,您可以在会话中设置页面名称,这里的好处是您不需要为每个刀片文件设置页面名称。是的,我更喜欢这种方式,因为我在项目中使用了它。这是正确的。我建议使用三元运算符:(条件)?真:假
;您还可以将会话用于页面,当特定页面在控制器中呈现时,您可以在会话中设置页面名称,这样做的好处是您不需要为每个刀片文件设置页面名称。