Laravel blade - 显示可依赖文件类型的fa-icon

时间:2016-12-07 09:34:48

标签: laravel-blade

我有这个foreach循环列出所有文件

@foreach ($event->event_files as $f => $file)
  <div class="col-sm-2">
    <a href="{{\Storage::disk('public')->url($file->path)}}">{{$file->name}}</a>
  </div>
@endforeach

我想要制作的是每个文件的预览图标,以便它看起来像这样:

enter image description here

我有图标,我有文件类型扩展....我只是不知道如何在foreach循环中连接所有这些。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在控制器中创建数组:

$icons = [
        'pdf' => 'pdf',
        'doc' => 'word',
        'docx' => 'word',
        'xls' => 'excel',
        'xlsx' => 'excel',
        'ppt' => 'powerpoint',
        'pptx' => 'powerpoint',
        'txt' => 'text',
        'png' => 'image',
        'jpg' => 'image',
        'jpeg' => 'image',
    ];

并使用

将其发送到视图
return view('edit', compact('icons'));

和刀片

@foreach ($event->event_files as $f => $file)
  <div class="col-sm-2 text-center">
     <i class="fa fa-file-{{$icons[$file->type]}}-o fa-5x text-center"/></i>

     <div class="clearfix"></div>

     <a href="{{\Storage::disk('public')->url($file->path)}}">{{$file->name}}</a>
     </div>
@endforeach

你会得到这样的东西:

enter image description here