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
The Menu
and Link
classes use the HtmlAttributes
trait, which enables you to add attributes to their main elements (respectively the ul
and a
tags).
The trait provides two methods to set attributes: setAttribute
and addClass
.
Menu::new()
->setAttribute('role', 'navigation')
->addClass('nav');
<ul role="navigation" class="nav"></ul>
The setAttribute
and addClass
methods are smart enough to merge class names on render. The latter can also accepts both arrays and strings.
Link::to('#', 'Back to top')
->setAttribute('class', 'link')
->addClass(['button', 'top']);
<a href="#" class="link button top">Back to top</a>
If you want to add classes or set attributes to all items in a menu, the Menu
class provides some convenience methods: addItemClass
, setItemAttribute
.
The trait provides two methods to set attributes: setAttribute
and id
.
Menu::new()
->setAttribute('role', 'navigation')
->id('nav');
<ul role="navigation" id="nav"></ul>