anetwork/sidenav

1.0.0 2016-11-24 09:11 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:14:49 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality Code Coverage

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

菜单选项