roboc / menu-builder
菜单构建器
dev-master
2016-08-03 14:28 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- phpunit/phpunit: ~4
This package is auto-updated.
Last update: 2024-09-27 10:22:13 UTC
README
轻松构建导航菜单的途径
示例用法
创建菜单
$menu = new Menu('main-menu');
添加菜单项
$menu->item('Home')->to('/');
使用徽章
$menu->item('Inbox')->to('inbox')->badge(5);
创建子菜单
$menu->item('Reports') ->subMenu( function ( Menu $menu ) { $menu->item('Summary')->to('/reports/summary'); $menu->item('Detailed')->to('/reports/detailed'); } );
渲染菜单
使用JSON渲染器
$json = ( new \Roboc\Menu\Renderer\JsonRenderer )->render( $menu );
输出
[
{
"title": "Home",
"link": "\/"
},
{
"title": "Inbox",
"link": "inbox",
"badge": {
"value": 5,
"attributes": []
}
},
{
"title": "Reports",
"children": [
{
"title": "Summary",
"link": "\/reports\/summary"
},
{
"title": "Detailed",
"link": "\/reports\/detailed"
}
]
}
]
使用简单的HTML渲染器
$html = ( new \Roboc\Menu\Renderer\HtmlRenderer )->render( $menu );
输出
<ul id="main-menu"> <li><a href="/">Home</a></li> <li><a href="/inbox">Inbox <span class="badge">5</span></a></li> <li>Reports <ul> <li><a href="/reports/summary">Summary</a></li> <li><a href="/reports/detailed">Detailed</a></li> </ul> </li> </ul>
其他
你可以创建自己的菜单渲染器或直接在你的代码中构建菜单输出