S-6ren">
gpt4 book ai didi

regex - 如何检查 Laravel Blade 中的当前路线是否与模式匹配?

转载 作者:行者123 更新时间:2023-12-04 14:42:44 26 4
gpt4 key购买 nike

我正在检查我的 Blade 模板中的路由,将事件类添加到特定的 li在我的菜单中使用此代码:

<ul>
<li class="{{ Request::is('*/sobre') || Request::is('*') ? "active" : "" }}">
<a href="{{ Route::getCurrentRoute()->parameters()['domain'] . "/sobre" }}">Sobre o salão</a>
</li>
<li class="{{ Request::is('*/servicos') ? "active" : "" }}">
<a href="{{ Route::getCurrentRoute()->parameters()['domain'] . "/servicos" }}">Serviços</a>
</li>
<li class="{{ Request::is('*/avaliacoes') ? "active" : "" }}">
<a href="{{ Route::getCurrentRoute()->parameters()['domain'] . "/avaliacoes" }}">Avaliações</a>
</li>
<li class="{{ Request::is('*/galeria') ? "active" : "" }}">
<a href="{{ Route::getCurrentRoute()->parameters()['domain'] . "/galeria" }}">Fotos</a>
</li>
</ul>

这些是路线:
Route::group(['prefix' => '{domain}', 'middleware'=>'salao'], function () {
Route::get('/', 'Frontend\FrontendSalaoController@sobre');
Route::get('sobre', 'Frontend\FrontendSalaoController@sobre');
Route::get('servicos', 'Frontend\FrontendSalaoController@servicos');
Route::get('avaliacoes', 'Frontend\FrontendSalaoController@avaliacoes');
Route::get('galeria', 'Frontend\FrontendSalaoController@galeria');
});

当我访问路线时 http://website/x或路线 http://website/x/sobre ,事件类定位正确。但是,如果我访问 http://website/x/servicos路由,该类将被添加到第一个 li 和 servicos 中。里

我该如何处理?

最佳答案

Request::is('*')实际上匹配所有内容,因此第一个项目将始终具有事件类。相反,您应该检查 '/' :

<li class="{{ Request::is('*/sobre') || Request::is('/') ? "active" : "" }}">
is方法甚至支持多个参数,其中只有一个必须匹配,因此您可以将其缩短为:
<li class="{{ Request::is('*/sobre', '/') ? "active" : "" }}">

关于regex - 如何检查 Laravel Blade 中的当前路线是否与模式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com