我有一些刀片模板文件,我希望根据会话中存储的当前用户的权限动态地包含在我的视图中。以下是我写的代码:
@foreach (Config::get('constants.tiles') as $tile)
@if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
@include('dashboard.tiles.' . $tile)
@endif
@endforeach
Blade不允许我将常量字符串与变量$ tile的值连接起来。但我想实现这个功能。对此的任何帮助都将受到高度赞赏。
答案 0 :(得分:10)
您无法在blade模板命令中连接字符串。因此,您可以将包含的文件名分配到php变量中,然后将其传递给blade template命令。
@foreach (Config::get('constants.tiles') as $tile)
@if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
<?php $file_name = 'dashboard.tiles.' . $tile; ?>
@include($file_name)
@endif
@endforeach
Laravel 5.4 - 在刀片模板中使用字符串连接的动态包含
@foreach (Config::get('constants.tiles') as $tile)
@if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
@include('dashboard.tiles.' . $tile)
@endif
@endforeach