使用带Nwidart模块的Laravel AdminLTE调用模块路由出现语法错误如何解决
问题原因及解决方案
1. 直接报错原因:Blade模板语法括号不匹配
你写的@if条件语句少了一个闭合右括号,原代码:
@if( !isset($item['module']) || (Module::has($item['module']) )
整句共有3个左括号,仅对应2个右括号,最外层的@if(缺少对应的闭合括号,Blade模板编译为原生PHP时就会抛出语法错误。
修复方案
补充缺失的闭合括号即可,也可以直接去掉Module::has外层多余的嵌套括号简化语法:
@if( !isset($item['module']) || Module::has($item['module']) )
2. 额外配置隐患
你在adminlte.php中配置的'module'=>''是空字符串,Module::has('')默认会返回false。如果当前菜单项不需要关联任何模块,建议直接删掉module配置项即可,不需要传空值;如果对应存在的模块,将空值替换为对应模块的名称即可。
内容的提问来源于stack exchange,提问作者alagoro
相关产品推荐
相关产品推荐

