Super simple class for rendering navigation from an array of items.
Simply require the library on your composer.json file:
"require": {
"jvs/simplenavigation": "dev-master"
}
And run composer install or composer update if you already installed some
packages.
- Download the zip file
- Extract to your project folder
- Make sure to require the main class
require_once 'lib/JVS/SimpleNavigation.php';
SimpleNavigation provides a simple make function that expects an array with the menu items you want to render, it can be a simple array:
$simpleNav = new JVS\SimpleNavigation;
$navItems = array('Home', 'About Us', 'Blog');
echo $simpleNav->make($navItems);Which outputs:
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Blog</a></li>
</ul>A multi-dimensional array with key/value pairs representing the label and url of the item:
$simpleNav = new JVS\SimpleNavigation;
$navItems = array(
'Home' => 'http://www.example.com/',
'About Us' => 'http://www.example.com/about.php',
'Blog' => 'http://www.example.com/blog.php',
);
echo $simpleNav->make($navItems);Which outputs:
<ul>
<li><a href="http://www.example.com/">Home</a></li>
<li><a href="http://www.example.com/about.php">About Us</a></li>
<li><a href="http://www.example.com/blog.php">Blog</a></li>
</ul>Or a fully nested array of arrays:
$simpleNav = new JVS\SimpleNavigation;
$navItems = array(
'Home' => 'http://www.example.com/',
'About Us' => array(
'Our Company' => 'http://www.example.com/about/company.php',
'Our Team' => 'http://www.example.com/about/team.php',
),
'Blog' => 'http://www.example.com/blog.php',
);
echo $simpleNav->make($navItems);Which outputs:
<ul>
<li><a href="http://www.example.com/">Home</a></li>
<li>
<a href="http://www.example.com/about.php">About Us</a>
<ul>
<li><a href="http://www.example.com/about/company.php"></a></li>
<li><a href="http://www.example.com/about/team.php"></a></li>
</ul>
</li>
<li><a href="http://www.example.com/blog.php">Blog</a></li>
</ul>That's all there is to it for now.
Feel free to submit bugs or pull requests, just make sure to include unit tests if relevant.
