如何从视图中返回的变量在laravel中插入带有刀片的IMG元素的动态源

问题描述

我有一个包含一些产品的网站,我使用刀片进行动态产品页面构建。像这样:

Route::get('/products/{product}',function ($product) {  
    return view('products/product',['name' => $product]);
});

我想通过从 public/products/{$product} 文件夹中获取所有图像来将图像添加到我的产品页面,但由于某种原因它不起作用。如果我手动输入路径,它工作正常,如果我想用产品变量获取它,它什么都不做。

刀片(这不起作用):

  <section class="referenciak">
    <h1>Refenreciák</h1>
    @foreach(File::glob(public_path("images/products/{{$name}}").'/*') as $path)
      <img class="myImg" src="{{ str_replace(public_path(),'',$path) }}">
    @endforeach

  </section>

Blade(这很好用,但我想使用变量,我错过了什么?):

  <section class="referenciak">
    <h1>Refenreciák</h1>
    @foreach(File::glob(public_path("images/products/somthing").'/*') as $path)
      <img class="myImg" src="{{ str_replace(public_path(),$path) }}">
    @endforeach

  </section>

解决方法

您不应该需要花括号将变量括在@foreach 中。试试下面的代码:

  <section class="referenciak">
    <h1>Refenreciák</h1>
    @foreach(File::glob(public_path("images/products/$name").'/*') as $path)
      <img class="myImg" src="{{ str_replace(public_path(),'',$path) }}">
    @endforeach
  </section>