2016-10-11 128 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本身。 (如果你想在另一個頁面中忽略它。)

相關問題