witooh / 菜单构建器
此包的最新版本(dev-master)没有提供许可证信息。
dev-master
2013-05-08 15:14 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.0.x
- witooh/tag-builder: dev-master
This package is not auto-updated.
Last update: 2024-09-23 11:37:08 UTC
README
安装
将此添加到config/app.php中
'providers' => array( ... ... 'Witooh\MenuBuilder\MenuBuilderServiceProvider', ),
并且
'aliases' => array( ... ... 'MenuBuilder' => 'Witooh\MenuBuilder\Facades\MenuBuilder', ),
用法
实现IMenuBahvior接口
namespace MyMenu; class MenuBehavior implements IMenuBehavior { public static function makeUL($menuLevel){ return Tag::make('ul'); } public static function makeLI($config, $menuLevel) { if (isset($config['visible']) && $config['visible'] == false) { return false; } $li = Tag::make('li'); $a = Tag::make('a'); if (isset($config['link'])) { $a->attr('href', $config['link']); } else { $a->attr('href', "javascript:;"); } if (isset($config['icon'])) { $icon = Tag::make('i'); $icon->attr('class', $config['icon']); $a->innerHtml($icon); } if (isset($config['title'])) { $title = Tag::make('span'); $title->attr('class', 'title'); $title->innerHtml($config['title']); $a->innerHtml($title); } $li->innerHtml($a); return $li; } }
将行为设置为MenuBuilder
MenuBuilder::setBehavior('MyMenu\MenuBehavior');
在blade中显示菜单
MenuBuilder::make(array( array( 'title'=>'Home 1', 'icon'=>'icon-home', 'menu'=>array( array( 'title'=>'Sub Home 1', 'icon'=>'icon-home', 'link'=>'#', 'menu'=>array( array( 'title'=>'Sub Sub Home 1', 'icon'=>'icon-home', 'link'=>'#', ) ) ) ), ), array( 'title'=>'Home 2', 'icon'=>'icon-home', 'link'=>'#', 'menu'=>array( array( 'title'=>'Sub Home 2', 'icon'=>'icon-home', 'link'=>'#', ) ) ) ));