#laravel
#laravel
Вопрос:
У меня есть ссылка в верхней панели навигации, которую я хотел бы удалить, когда пользователь находится на странице регистрации. Я думал, что смогу использовать для этого помощник url, но он, очевидно, не работает:
Вот как я его настроил:
@if(!url('/register'))
<li>
<a class="btn btn-link" href="{{ url('/register') }}">Register</a>
</li>
@endif
Комментарии:
1. можете ли вы добавить версию laravel?
Ответ №1:
Используется request()->is()
для определения соответствия текущего URL-адреса строке:
@if (request()->is('register*'))
Комментарии:
1. в этом случае все маршруты, которые содержат регистр, не будут показывать кнопку. Будьте осторожны с этим )
2. @dyachenko, я добавил asterix, чтобы показать, как это работает. ) В любом случае я бы рекомендовал перейти по ссылке выше и прочитать о
is()
методе.
Ответ №2:
Вы можете использовать Route::getCurrentRoute()->getPath()
метод для получения текущего URL, как показано ниже:
@if(Route::getCurrentRoute()->getPath() != 'register')
<li>
<a class="btn btn-link" href="{{ url('/register') }}">Register</a>
</li>
@endif
Надеюсь, этот ответ вам поможет!
Ответ №3:
Самый простой способ (без запоминания множества API) сделать это — добавить переменную в свой метод:
public function register() // if this is your page in the controller
{
return view('register')->with('no_register_link', true);
}
Так что вы можете проверить это в шаблоне:
@if (!$no_register_link)
<li>...template...</li>
@endif
Таким образом, вы можете разделить логику отображения и сам URL. (На случай, если вы хотите проигнорировать его и на другой странице.)