anetwork / sidenav
1.0.0
2016-11-24 09:11 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: ^5.6
This package is not auto-updated.
Last update: 2024-09-14 19:14:49 UTC
README
Anetwork SideNav
SideNav 是一个 PHP 包,帮助你生成强大的侧边栏导航。
特性
- 子菜单:定义你的子菜单到项目
- 分组:按组定义你的项目
- 检查:使用 if 语句支持定义动态菜单和子菜单
介绍
- 一个 php 组件,使构建垂直导航菜单更加容易
- 侧边栏包可以管理你的项目中的侧边栏导航项目
- 你可以使用 composer 安装此包并配置你的侧边栏导航项目
需求
- php 5.5 及以上
- HHVM
使用 composer 安装
你可以通过运行 Composer 来安装此包
composer require anetwork/sidenav
注册新项目
- 你应该使用 sidenav 对象的 register 方法
- 该方法需要两个参数
- 第一个参数应该是你项目名称的字符串
- 第二个参数必须是一个函数字面量,用于使用 Menu 对象定义所有菜单选项
SideNav::register('item_name',function($menu){ $menu->link('the_item_url'); $menu->title('the title'); $menu->className('class-name'); // Item css class attribute $menu->icon('fa fa-example'); // use on font-awesome icon // Register submenu to item $menu->sub('sub_item_name',function ($menu){ $menu->link('the_item_url'); $menu->title('the submenu title'); $menu->icon('fa fa-example'); $menu->className('submenu-class-name'); }); /** * * Register another one ... * */ });
带有检查状态的子菜单注册
如果你想在项目项中注册带有 checkStatus 的子菜单,你应该使用 Menu 对象的 subWithCheck 方法
- 该方法接受三个参数
- 第一个参数必须是你项目名称的字符串
- 第二个参数必须是一个函数字面量,用于使用 Menu 对象定义所有菜单选项
- 第三个参数必须是一个函数字面量,表示你的检查状态,函数的返回值必须是 true 或 false
SideNav::register('item_name',function($menu){ /** * * Items options ... * */ $menu->subWithCheck('sub_item_name',function($menu){ /** * * Item options ... * */ },functiion(){ // checking area // you can define the if statement here to return boolean | true or false // :: Example if($_SESSION['user_id'] == 2){ return true; } return false; }); });
带有检查状态的注册
如果你想在带有 checkStatus 的项中注册,你应该使用 SideNav 对象的 registerWithCheck 方法
- 该方法接受三个参数
- 第一个参数必须是你项目名称的字符串
- 第二个参数必须是一个函数字面量,用于使用 Menu 对象定义所有菜单选项
- 第三个参数必须是一个函数字面量,表示你的检查状态,函数的返回值必须是 true 或 false
SideNav::registerWithCheck('item_name',function($menu){ $menu->link('the_item_url'); $menu->title('the title'); $menu->className('class-name'); $menu->icon('fa fa-example'); },function(){ // checking area // you can define the if statement here to return boolean | true or false // :: Example if($_SESSION['user_id'] == 2){ return true; } return false; });
分组
- 你可以使用 SideNav::group 方法创建分组菜单
SideNav::group('user',function(){ // Registering Items });
渲染
- 你可以使用 SideNav 对象的 render 方法返回你的菜单数组
SideNav::render();
- 如果你想渲染你的分组,只需在参数中调用你的分组名称
SideNav::render('name_of_your_group');