一个表达式的HTML生成器,用于创建菜单。

v1.0.0 2013-06-28 16:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:29:17 UTC


README

轻松创建HTML菜单!

一些示例

创建新的菜单

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

向菜单添加属性

<?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');
});

过滤菜单项

过滤器可以用来从菜单中删除项目,或者向项目添加更多属性。

<?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';
});