2016-10-11 88 views
1

我在导航栏中有一个链接,当用户在注册页面时,我想删除该链接。我想我应该能够使用网址帮手一点,但它显然是不工作:Laravel - 如何从特定页面的视图中删除元素

这是我如何设定它:

 @if(!url('/register')) 
     <li> 
      <a class="btn btn-link" href="{{ url('/register') }}">Register</a> 
     </li> 
     @endif 
+0

你可以添加laravel版本吗? – dyachenko

回答

2

使用request()->is()如果当前的URL相匹配的字符串检测:

@if (request()->is('register*')) 
+0

在这种情况下,所有包含寄存器的路由都不会显示按钮。注意这一点) – dyachenko

+0

@dyachenko,我已经添加了asterix以显示它是如何工作的。 )无论如何,我建议单击上面的链接并阅读有关“is()'方法。 –

0

可以使用Route::getCurrentRoute()->getPath()方法获取当前URL像下面这样:

@if(Route::getCurrentRoute()->getPath() != 'register') 

<li> 
    <a class="btn btn-link" href="{{ url('/register') }}">Register</a> 
</li> 

@endif 

希望这个答案能帮助你!

0

要做到这一点,最简单的方法(不记得了很多的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本身。 (如果你想在另一个页面中忽略它。)

相关问题