在节点内容中上传的 Foreach 图像:获取 url

我从 Drupal 8 开始,我想在我创建的内容中获取照片的 url 以显示它们。

上下文是:为客户上传一张照片。该客户可以在页面上看到它。为了共同获取这些数据,我为我的拍摄创建了一个带有 id 的内容。
我所做的是:

$photos = $shooting->field_shooting_photos->target_id;
这使我可以获取上传的每张图片的 id。现在我想在我的 .module 中对 $photos 做一个 foreach ,它将返回数组中的每个 url。然后我将在我的 Twig 中使用这个数组并在它上面做一个 foreach 来返回每张照片。
我只是不知道该怎么做,我想我将不得不使用类似的东西

$path = $photo_id->getFileUri();
但我无法弄清楚将其放入数组的语法。谢谢您的帮助!


四季花海
浏览 117回答 1
1回答

梦里花落0921

如果你只有一个fid,你需要加载文件。use \Drupal\file\Entity\File;$fid = 123; // Your fid   $file = File::load($fid);从那里,您可以使用getFileUri方法获取 URI。如果要获取完整的 URL,可以使用file_create_url函数。$uri = $file->getFileUri();// You get : public://directory/file.jpg$url = file_create_url($uri);// You get : http://mywebsite.com/sites/default/files/directory/file.jpg
打开App,查看更多内容
随时随地看视频慕课网APP