如何从视图返回的变量中插入 laravel 中 blade 的 IMG 元素的动态源

How to insert dinamic source for IMG element with blade in laravel from returned variable from view

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

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

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

Blade(这行不通):

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