我在導航欄中有一個鏈接,當用戶在註冊頁面時,我想刪除該鏈接。我想我應該能夠使用網址幫手一點,但它顯然是不工作: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