thinkcmf后台菜单类型不起作用的解决办法
今天搞洛阳硬件设备后台的设计,他们要求最上面加一个大屏显示在新页面中,看后台菜单中有个类型可以设置,于是各种设置就是不起作用,无奈只好自己查看源码进行查找问题所在。
最终在文件/vendor/thinkcmf/cmf-api/src/admin/controller/MenuController.php 中查看到问题所在,里面根本就没有进行这个type类型的判断,这又怎么能起作用呢?
在原有数组前增加一个判断,并且在数组中增加参数target,最终结果如下:
1 2 3 4 5 6 7 8 9 10 11 |
$target = $a['type']==2 ? '_blank' : '_self'; $url = $a['type']==0 ? '' : $url; $array = [ "icon" => $a['icon'], "id" => $id . $app, "name" => $a['name'], "parent" => $parent, "url" => $url, 'target' => $target, 'lang' => strtoupper($app . '_' . $controller . '_' . $action) ]; |
这样在循环菜单的时候加上target就可以了。我修改了后台模板使用的是layui-mini