I want to use a single nav bar (in layouts/app.blade.php) for all my pages in laravel but I wanted a way I could show a particular search form right on the navbar for only a particular page without duplicating layouts.
Here is how I solved it with named routes:
So I need to check if a URL is exactly like, e.g, "page" and then I show something.
My web.php
Route::get('/pages', function () {
return view('page');
})->name('page');
My layouts/app.blade.php
<nav class="navbar">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#">Coventions</a>
</li>
</ul>
@if (\Route::current()->getName() == 'page')
<form >
<input name="s" type="search">
</form>
@endif
<button> Upload </button>
</nav>
So whats happening above: I simply mean that if the route is same as 'page'
every other thing under the blade @if
(which is the search form )condition will show else, it should just ignore and display the rest.
I hope it helps.
Top comments (0)