博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP左侧菜单栏的管理与实现
阅读量:5937 次
发布时间:2019-06-19

本文共 2615 字,大约阅读时间需要 8 分钟。

以thinkPHP5.0为例后台config.php文件里配置
//配置文件设置菜单内容属性'menu' => [  [    'name' => '菜单栏1',    'url' => '/admin/index/one',    'status'=> 0,    'sub'=> 0  ],  [    'name' => '菜单栏2',    'url' => '#',    'status'=> 0,    'sub'=>[        [          'name' => '子菜单栏1',          'url' => '/admin/user/one',          'status'=> 0,        ],        [          'name' => '子菜单栏2',          'url' => '/admin/user/two'),          'status'=> 0,        ],    ]  ],  [    'name'=> '菜单栏3',    'url' => '#',    'status'=> 0,    'sub'=>[        [          'name' => '子菜单栏1',          'url' => '/admin/admin/one',          'status'=> 0,        ],        [          'name' => '子菜单栏2',          'url' =>url('/admin/admin/two'),          'status' => 0,        ],    ]  ],  [    'name' => '菜单栏4',    'url' => '/admin/order/one',    'status'=> 0,    'sub'=> 0  ]]
 

  

在项目后台初始化方法里base
class Base extends Controller{    protected function _initialize()    {        $request = Request::instance();        if (session('uid') === null) {            $this->redirect('Simple/login');        }        $menu = Config::get('menu'); //获取配置文件里的菜单数据        $clickUrl = $request->path(); //获取当前请求的地址        $clickUrl = '/' . $clickUrl;        $menuData = setMenu($menu, $clickUrl); //对每个配置项进行状态设置        $this->assign('menu', $menuData);    }}
 

  

后台common.php文件
function setMenu($menuData,$url){    if (!is_array($menuData)){        return false;    }    foreach ($menuData as $key => $value) {        if($value['url'] == '#'){            foreach ($value['sub'] as $k => $v) {                if($v['url'] == $url){                    $menuData[$key]['status'] = 1;     //改变当前访问的子菜单栏状态                    $menuData[$key]['sub'][$k]['status'] = 1;  //改变当前当前的菜单栏状态                }            }        } else {            $menuData[$key]['status'] = 1;        }    }    return $menuData;}
 

  

布局页面上view判断菜单栏及子菜单栏的status状态

  

 

转载于:https://www.cnblogs.com/qhorse/p/10038190.html

你可能感兴趣的文章
AngularJS理论基础
查看>>
sharePtr
查看>>
WSTMart开源商城
查看>>
红黑树的性质
查看>>
Diablo 大菠萝
查看>>
.NET Reflector 5.1.2.0 Released
查看>>
(转)Java高手需要注意的25个学习目标
查看>>
生成字符串校验码的方法
查看>>
StarUml2的使用初体验
查看>>
POJ-1990 MooFest---两个树状数组
查看>>
自我介绍
查看>>
所感所想
查看>>
网页实现文件下载的一些方法
查看>>
jQuery常用方法
查看>>
Android Studio 1.1.0 “关联源码” 或者“导入源码” ,又或者插件包
查看>>
ASP.NET MVC 自动模型验证
查看>>
空间谱专题03:时空特性与采样定理
查看>>
中文正则表达式匹配 [\u4e00-\u9fa5]
查看>>
C\C++头文件说明
查看>>
我的工具:Db SQL Monitor
查看>>