如何隐藏后台的菜单

2016-07-07 15:05 来源:www.chinab4c.com 作者:ecshop专家

有些管理员开通了不同的权限,虽然后台把权限都过滤了,但是还是现实全部的菜单,如何让没有权限的菜单隐藏掉呢~~

回答:
楼上好人啊。。为什么会被禁言。。。这个问题我也想问

禁言是因为发广告了。

发广告....
我看了程序,但是修改的时候怎么没有达到预期的效果呢!!
一会上代码
忘了说了 我的是2.6 的版本

改模版不行啊!!!因为涉及到多个管理员,而且每个管理员的权限都哟不同,
我看了下2.7 的 他就能很好的过滤,对照了下代码没啥差别啊
这个是2.6 的
  1. foreach ($modules AS $key => $val)
  2. {
  3. $menus[$key]['label'] = $_LANG[$key];
  4. if (is_array($val))
  5. {
  6. foreach ($val AS $k => $v)
  7. {
  8. if ( isset($purview[$k]))
  9. {
  10. if (! admin_priv($purview[$k], '', false))
  11. {
  12. continue;
  13. }
  14. }
  15. if ($k == 'ucenter_setup' && $_CFG['integrate_code'] != 'ucenter')
  16. {
  17. continue;
  18. }
  19. $menus[$key]['children'][$k]['label'] = $_LANG[$k];
  20. $menus[$key]['children'][$k]['action'] = $v;
  21. }
  22. }
  23. else
  24. {
  25. $menus[$key]['action'] = $val;
  26. }
  27. // 如果children的子元素长度为0则删除该组
  28. if(!count($menus[$key]['children']))
  29. {
  30. unset($menus[$key]);
  31. }
  32. }
复制代码



这个是2.7 的


  1. foreach ($modules AS $key => $val)
  2. {
  3. $menus[$key]['label'] = $_LANG[$key];
  4. if (is_array($val))
  5. {
  6. foreach ($val AS $k => $v)
  7. {
  8. if ( isset($purview[$k]))
  9. {
  10. if (is_array($purview[$k]))
  11. {
  12. $boole = false;
  13. foreach ($purview[$k] as $action)
  14. {
  15. $boole = $boole || admin_priv($action, '', false);
  16. }
  17. if (!$boole)
  18. {
  19. continue;
  20. }

  21. }
  22. else
  23. {
  24. if (! admin_priv($purview[$k], '', false))
  25. {
  26. continue;
  27. }
  28. }
  29. }
  30. if ($k == 'ucenter_setup' && $_CFG['integrate_code'] != 'ucenter')
  31. {
  32. continue;
  33. }
  34. $menus[$key]['children'][$k]['label'] = $_LANG[$k];
  35. $menus[$key]['children'][$k]['action'] = $v;
  36. }
  37. }
  38. else
  39. {
  40. $menus[$key]['action'] = $val;
  41. }

  42. // 如果children的子元素长度为0则删除该组
  43. if(empty($menus[$key]['children']))
  44. {
  45. unset($menus[$key]);
  46. }

  47. }
复制代码


对照后发现没啥太大的区别,关键就是在循环当前管理员权限的时候 ....