2017 © Pedro Peláez
 

library menu

An expressive HTML Generator to create menus.

image

loic-sharma/menu

An expressive HTML Generator to create menus.

  • Tuesday, July 9, 2013
  • by loic-sharma
  • Repository
  • 2 Watchers
  • 8 Stars
  • 325 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 1 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Menu Package

Create an HTML menu easily!, (*1)

A Few Examples

Creating a New Menu

<?php

$factory = new Menu\Factory;

$menu = $factory->get('header');

$menu->add('Home', '/');
$menu->add('Blog', '/blog');

$menu->add('Menu', '/menu', function($menu)
{
    $menu->add('Item 1', '/menu/item-1');
    $menu->add('Item 2', '/menu/item-2');
});

echo $menu;

Adding Attributes to Menus

<?php

$menu->add('First Link', '/', function($item)
{
    $item->link->id = 'a-id';
    $item->link->class = 'a-class';

    $item->label->id = 'li-id';
    $item->label->class = 'li-class';
});

$menu->add('Second Link', function($item)
{
    $item->url = '/uri';

    $item->list->id = 'ul-id';
    $item->list->class = 'ul-class';

    $menu->add('Sub Link', '/sub/link');
});

Filtering Menu Items

Filters can be used to either remove an item from a menu, or to add more attributes to an item., (*2)

<?php

// Filter all the menus.
$factory->addFilter(function($item)
{
    // Remove any items that have the name 'Admin'
    if($item->name == 'Admin')
    {
        $item->remove();
    }
});

// Filter a specific menu.
$menu->addFilter(function($item)
{
    // Modify the li elements.
    $item->label->class = 'prettify';
});

The Versions

09/07 2013

dev-master

9999999-dev

An expressive HTML Generator to create menus.

  Sources   Download

MIT

by Loic Sharma

menu

28/06 2013

v1.0.0

1.0.0.0

An expressive HTML Generator to create menus.

  Sources   Download

MIT

by Loic Sharma

menu