我在导航栏中有一个链接,当用户在注册页面时,我想删除该链接。我想我应该能够使用网址帮手一点,但它显然是不工作:Laravel - 如何从特定页面的视图中删除元素
这是我如何设定它:
@if(!url('/register'))
<li>
<a class="btn btn-link" href="{{ url('/register') }}">Register</a>
</li>
@endif
我在导航栏中有一个链接,当用户在注册页面时,我想删除该链接。我想我应该能够使用网址帮手一点,但它显然是不工作:Laravel - 如何从特定页面的视图中删除元素
这是我如何设定它:
@if(!url('/register'))
<li>
<a class="btn btn-link" href="{{ url('/register') }}">Register</a>
</li>
@endif
使用request()->is()
如果当前的URL相匹配的字符串检测:
@if (request()->is('register*'))
在这种情况下,所有包含寄存器的路由都不会显示按钮。注意这一点) – dyachenko
@dyachenko,我已经添加了asterix以显示它是如何工作的。 )无论如何,我建议单击上面的链接并阅读有关“is()'方法。 –
可以使用Route::getCurrentRoute()->getPath()
方法获取当前URL像下面这样:
@if(Route::getCurrentRoute()->getPath() != 'register')
<li>
<a class="btn btn-link" href="{{ url('/register') }}">Register</a>
</li>
@endif
希望这个答案能帮助你!
要做到这一点,最简单的方法(不记得了很多的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本身。 (如果你想在另一个页面中忽略它。)
你可以添加laravel版本吗? – dyachenko