Laravel 8.x - 在 Blade 中检查 url 是否包含单词

问题描述 投票:0回答:1

我创建了一个具有多个页面和子页面的网站,以及一个顶部导航栏,每个页面都有快捷方式。导航栏可以直接在视图中使用

Request::path()
方法确定当前页面。不幸的是,这只适用于当前页面是最后一个 url 参数的页面。

例如:

<a href="{{url('faq')}}" class="{{ Request::path() === 'faq' ? 'current_page_item' : '' }}">FAQ</a>
当我进入

/faq 页面时,^ 会导致顶部导航的

FAQ
按钮处于活动状态。 但是,如果我访问 /faq/contact
 页面,
FAQ 按钮将不再处于活动状态。我该如何解决这个问题?

我尝试过以下方法:

<a href="{{url('faq')}}" class=" @if (\Request::is('/faq/*')) echo 'current_page_item'; @endif ">FAQ</a>
但是,无论是在 

/faq

 页面还是在 
/faq/contact
 页面中,该按钮似乎都未处于活动状态。

有人可以帮忙吗?如果可能的话,我想避免使用路线名称。预先感谢。

php laravel laravel-blade
1个回答
0
投票

str_contains(url()->current(), 'faq') ? 'active' : ''


Str::contains 方法确定给定字符串是否包含给定值。

© www.soinside.com 2019 - 2024. All rights reserved.