Laravel blade - 根据文件类型显示 fa-icon

Laravel blade - show fa-icon dependable on file type

我有这个 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

我想为每个文件制作一个预览图标,使其看起来像这样:

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

有什么想法吗?

在控制器中创建数组:

$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'));

并在 blade

@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

你会得到这样的东西: