Build Menu/Navbar from Bootstrap 5 with array[] o/
composer require wtabata/arraymenu
Standard HTML list structure will be built
$array = [
'home' => [
'name' => 'Label for Home',
'link' => '#',
],
[ /* << see, here don't have key. no matter. just for help u */
'name' => 'Label for Contact'
],
];
$menu = new \Wt\ArrayMenu\Simple($array);
echo $menu;
output
<ol class="more_class my_class">
<li class=""><a class="" href="#">Label for Home</a></li>
<li class="">Label for Contact</li>
</ol>
<ul> <!-- init - primary tag -->
<li> <!-- item - secondary tag -->
<a href="#"> - </a> <!-- link - content -->
</li>
</ul>
global
//set primary Tag
$menu->setInit(['tag'=>'ol', 'class' =>'my_class']);
//set secondary Tag
$menu_b->setItem(['tag'=>'li', 'class' =>'my_class_for_item other']);
or per item
$array = [
'config' => [ //set primary Tag
'tag' => 'ol',
'class' => 'my_class'
],
'home' => [
'config' => [ //set secondary Tag
'tag' => 'dd',
'class' =>'my_class_for_item other'
],
'name' => 'Label for Home',
'link' => '#',
],
];
Bootstrap 5 navbar structure will be built
$array = [
'home' => [
'name' => 'Label for Home',
'link' => '#',
'class' => 'nav-link',
],
'contact' => [
'name' => 'Label for Contact',
'link' => '#',
'class' => 'nav-link',
],
'sitemap' => [
'name' => 'Label for Sitemap',
'link' => '#',
'class' => 'nav-link active',
]
];
$menu = new \WtArrayMenu\Bootstrap($array, $config_bootstrap = []);
echo $menu;
Default Config Bootstrap 5
$config_bootstrap = [
'position' => 'default',
'color' => 'bg-primary',
'container' => 'container',
'brand' => [
'name' => 'WT.dev',
'image' => false,
'link' => 'https://wtabata.com'
],
'off_canvas' => false
];
- usage simple
- usage with bootstrap
- defaults tags
- custom tags
- options base
- options bootstrap
- other non-standard tags
- scroll