|
- private function filterMenusByPermission(&$menus) {
- foreach ($menus as $key => &$menu) {
- // 检查当前级别菜单项的访问权限
- if (!empty($menu['value']) && !$this->user->hasPermission('access', $menu['value'])) {
- unset($menus[$key]);
- }else{
- // 如果有子菜单,递归调用此函数
- if (!empty($menu['children'])) {
- $this->filterMenusByPermission($menu['children']);
- // 如果子菜单为空(所有子项都被移除),则也移除当前菜单项
- if (empty($menu['children'])) {
- unset($menus[$key]);
- }
- }
- }
- }
- unset($menu);
- }
复制代码
|
|