juy / active-menu
The helper class for Laravel applications to get active class base on current route name
Installs: 3 057
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 2
Open Issues: 0
Type:laravel-package
Requires
- php: >=5.5.9
- illuminate/routing: ^5.1
- illuminate/support: ^5.1
Suggests
- juy/providers: Load providers and aliases use a config file
README
Helper class for Laravel applications to get active class base on current route name (It's only detect "route name, this is enough for us.").
Supported/Tested Laravel versions
- Laravel 5.1 | 5.2 | 5.3 | 5.4
Requirements
- Laravel >= 5.1 : Laravel 5.1 or above.
- PHP >= 5.5.9 : PHP 5.5.9 or above on your machine.
Installation
Step:1 Install through composer
Install
➜ composer require juy/active-menu
Manual install (alternative)
Simply add the following to the "require" section of your composer.json file, and run
composer update
command.
"juy/active-menu": "^1.1"
Remove
➜ composer remove juy/active-menu
Step 2: Add the service provider
Append this line to your service providers array in config/app.php
.
Juy\ActiveMenu\ServiceProvider::class,
Step 3: Publish config
Publish config file.
➜ php artisan vendor:publish --provider="Juy\ActiveMenu\ServiceProvider" --tag="config"
Config overview
You can modify css active class with custom one (default is 'active') in config/activemenu.php
(after publish).
return [ // The default css class value if the request match given route name 'class' => 'active', ];
Usage, samples
Alias/Facade
Active::route('route.name');
Application container
app('active')->route('route.name');
Helper function
active_route('route.name');
Wildcard samples
Active::route('route.name.*'); active_route('route.name.*');
Multi route with wilcard
Active::route(['route.name1.*', 'route.name2.*']); active_route(['route.name1.*', 'route.name2.*']);
Custom blade directive
@ifActiveRoute('route.name')
<p>Foo</p>
@else
<p>Bar</p>
@endif
Real life usage
<li class="item {{ active_route('admin.index') }}"> <a href="admin/index">Dashboard</a> </li>
License
This project is open-sourced software licensed under the MIT License.