Как проверить текущий URL внутри оператора @if в Laravel 5.6 - PullRequest
0 голосов
/ 30 июня 2018

Я использую laravel 5.6, и я пытаюсь проверить, находится ли мой текущий URL внутри оператора @if.

Я видел другие посты, в которых говорилось, что это можно сделать вот так @if(Request:url() === 'url to check'). Но тот конкретный пост, который я увидел, был решением для Laravel 4. Кто-нибудь знает, как получить текущий URL-адрес и вставить в оператор @if для Laravel 5.6?

Пример

@if(Request::url() === '/dashboard/attendance/report')
      <a href="#" class="btn btn-danger" target="_blank">Button</a>
@endif

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Вы не должны проверять URL, вы должны проверять маршруты. Я бы сделал это так.

@if (request()->is('admin/myRoute'))
[do stuff]
@endif
0 голосов
/ 30 июня 2018

Я бы решил это следующим образом.

@if(str_contains(url()->current(), '/dashboard/attendance/report'))
      <a href="#" class="btn btn-danger" target="_blank">Button</a>
@endif

Функция str_contains() проверяет, содержит ли строка (параметр # 1) вторую строку. Я предпочитаю эту функцию, потому что функция Laravel url() возвращает полный URL, тогда как вы хотели бы проверить, содержит ли URL определенный путь.

Документацию для url()->current() можно найти здесь: https://laravel.com/docs/5.6/urls#accessing-the-current-url

Изменить: Чтобы убедиться, что /dashboard/attendance/report находится в конце текущего URL, вы можете использовать следующее:

@if(substr(url()->current(), -1) == '/dashboard/attendance/report'))
      <a href="#" class="btn btn-danger" target="_blank">Button</a>
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...