我有一些 Blade 模板文件,我想根据存储在 session 中的当前用户的权限动态包含在我的 View 中。下面是我写的代码:
@foreach (Config::get('constants.tiles') as $tile)
@if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
@include('dashboard.tiles.' . $tile)
@endif
@endforeach
Blade 不允许我将常量字符串与变量 $tile 的值连接起来。但是我想实现这个功能。对此的任何帮助将不胜感激。
最佳答案
您不能在 Blade 模板命令中连接字符串。因此,您可以将包含的文件名分配给 php 变量,然后将其传递给 Blade 模板命令。
@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 - 在 Blade 模板中使用字符串连接的动态包含
@foreach (Config::get('constants.tiles') as $tile)
@if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
@include('dashboard.tiles.' . $tile)
@endif
@endforeach
关于Laravel Blade @include View 使用变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27963037/