You can append and prepend html outside of the ul
tag with similarly named functions. This is useful for submenu titles or separators.
Menu::new()
->prepend('<h2>Title</h2>')
->add(Link::to('/title/subpage', 'Subpage'))
->append('<hr>');
<h2>Title</h2>
<ul>
<li>
<a href="/title/subpage">Subpage</a>
</li>
</ul>
<hr>
If you only want to add html in certain conditions, you can use appendIf
and prependIf
.
$displayTitles = false;
$displayRulers = true;
Menu::new()
->prependIf($displayTitles, '<h2>Title</h2>')
->add(Link::to('/title/subpage', 'Subpage'))
->appendIf($displayRulers, '<hr>');
You can also wrap the menu in an element.
Menu::new()->wrap('div', ['class' => 'nav']);
<div class="nav">
<ul></ul>
</div>