PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of William Tabata   PHP Array Menu List Bootstrap Navbar   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: README
Class: PHP Array Menu List Bootstrap Navbar
Create a nested menu from an array with list items
Author: By
Last change: Update of README.md
Date: 3 months ago
Size: 2,670 bytes
 

Contents

Class file image Download

<h3 align="center"> ArrayMenu 2 </h3>

<p align="center"> Build Menu/Navbar from Bootstrap 5 with array[] o/ </p>

Install

composer require wtabata/arraymenu

Mode Simple

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>

Default List Tag

<ul> <!-- init - primary tag -->
    <li> <!-- item - secondary tag -->
        <a href="#"> - </a> <!-- link - content -->
    </li>
</ul>

Two ways to Configure tags

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' => '#',
    ],
];

Mode Bootstrap 5

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
];

TO DO

Docs

  • [x] usage simple
  • [x] usage with bootstrap
  • [x] defaults tags
  • [x] custom tags
  • [ ] options base
  • [ ] options bootstrap

Base

  • [ ] other non-standard tags

Bootstrap

  • [ ] scroll