Laravel blade @include 使用变量的视图

Laravel blade @include view using variable

我有几个 blade 模板文件,我想根据存储在 session 中的当前用户的权限动态地包含在我的视图中。下面是我写的代码:

@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