This is the documentation for
v3.
You can switch versions in the menu on the left/at the top.
Check your current version with the following command:
composer show spatie/menu
laravel-menu
ships with a View
item type, which you can use to render views as menu items. Views are created by specifying the view's name, and optionally passing data.
Menu::new()
->add(View::create('greeting', ['name' => 'Sebastian']));
<!-- resources/views/greeting.blade.php -->
Hello, {{ $name }}!
<ul>
<li>
Hello, Sebastian!
</li>
</ul>
If url
is set in the data argument, it will be used to determine the active state of the view with setActiveFromUrl
or setActiveFromRequest
.
Menu::new()
->add(View::create('greeting', ['name' => 'Sebastian', 'url' => '/profile']))
->setActiveFromUrl('/profile');
<ul>
<li class="active">
Hello, Sebastian!
</li>
</ul>
Additionally, an $active
boolean will always be passed to the view.
<!-- resources/views/amIActive.blade.php -->
I'm {{ $active ? 'active' : 'inactive' }}!