Posted by Arjun on Tuesday 20th January 2015

Highlight the Current Page in Navigation in Laravel Application

We can achieve this in several way , but i would like to share this below approach because it is very simple,easy and more readable.

This example utilizes Laravel’s HTML::macro() method. Open up your current application’s start/gloabl.php file and paste this snippet:

HTML::macro('isActive', function($url) {
     return Request::is($url) ? 'active' : '';
});

Here we are checking if the request matches the url. If so, we are adding an active class to the menu item.

Your blade template for navigation menu should be something like this:

 <ul>
    <li class="{{HTML::isActive('about')}}"><a href="{{ URL::route('about')}}">About</a> </li>
    <li class="{{HTML::isActive('contact')}}"> <a href="{{ URL::route('contact')}}">Contact</a></li>
  </ul>

That's it.