使用变量的Laravel刀片@include视图

时间:2015-01-15 12:05:08

标签: laravel laravel-4 blade

我有一些刀片模板文件,我希望根据会话中存储的当前用户的权限动态地包含在我的视图中。以下是我写的代码:

@foreach (Config::get('constants.tiles') as $tile)
    @if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
        @include('dashboard.tiles.' . $tile)
    @endif
@endforeach

Blade不允许我将常量字符串与变量$ tile的值连接起来。但我想实现这个功能。对此的任何帮助都将受到高度赞赏。

1 个答案:

答案 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