Проверьте подстановочные маршруты в Laravel 5
В blade, если мы хотим проверить, совпадает ли текущий маршрут с маршрутом или нет, мы можем просто использовать:
@if(Route::currentRouteName() == 'parameter')
{{ 'yes' }}
@else
{{ 'no' }}
@endif
Но что, если мы хотим сопоставить его с подстановочным знаком, например:
@if(Route::currentRouteName() == 'parameter.*')
{{ 'yes' }}
@else
{{ 'no' }}
@endif
Есть ли какое-то решение для этого?
Я попробовал " * "и": любой", но это не сработало.
Примечание: Я хочу проверить маршрут,а не URL.
Любая помощь будет оценена по достоинству.
Спасибо,
Парф Вора
Ответы - Проверьте подстановочные маршруты в Laravel 5 / Check wildcard routes in Laravel 5

16.12.2016 01:22:33
Использовать фреймворк Laravel по строке вспомогательные функции
str_is('parameter*', Route::currentRouteName())
Он вернет true для любой строки, которая начинается с parameter


08.11.2019 04:00:18
У меня была та же проблема. Я хотел переключить активный класс на основе URI.
В blade (Laravel 6x), я сделал:
(request()->is('projects/*')) ? 'active' : ''

13.01.2020 04:56:17
Вы также можете использовать инструкции Blades Custom If и написать что-то подобное в своем AppServiceProvider.php
:
public function boot()
{
Blade::if('route', function ($route) {
return Str::is($route, Route::currentRouteName());
});
}
затем вы можете использовать его в виде лезвия, как это:
<li @route('admin.users*') class="active" @endroute>
<a href="{{ route('admin.users.index') }}">Users</a>
</li>