Templates Drupal 8细枝模板:从URI获取相对或绝对路径
我在一个小树枝模板中有一个图像url,如“public://path/to/image.png". 我想获得“sites/default/files/path/to/image.png”以在模板中使用它 我认为它应该和这样的东西一起工作:Templates Drupal 8细枝模板:从URI获取相对或绝对路径,templates,drupal,twig,drupal-8,Templates,Drupal,Twig,Drupal 8,我在一个小树枝模板中有一个图像url,如“public://path/to/image.png". 我想获得“sites/default/files/path/to/image.png”以在模板中使用它 我认为它应该和这样的东西一起工作: {{ url ('public://path/to/image.png') }} 或 但我得到的只是错误。我知道第二个是PHP函数,但是有没有机会用TWIG实现呢?在D8中,从“路径”检索页面的URL是不推荐的 编辑: 不,我错了,只是拼错了/ 正确的答案是
{{ url ('public://path/to/image.png') }}
或
但我得到的只是错误。我知道第二个是PHP函数,但是有没有机会用TWIG实现呢?在D8中,从“路径”检索页面的URL是不推荐的 编辑: 不,我错了,只是拼错了/ 正确的答案是:他们正在进行树枝延伸。 我正在寻找一种方法来获取我的图像uri/URL,并通过
{{node.field\u image[delta].entity.url}您可以使用细枝函数
文件\u url
获取相对路径:
{{ file_url('public://path/to/image.png') }}
在下签出文档
它接受uri并创建文件的相对路径。至少在Drupal 8.1中是这样。这给我带来了一个错误<代码>Twig\u Sandbox\u安全错误:在第35行的“themes/ib/templates/layout/html.html.Twig”中不允许对“Drupal\file\Entity\file”对象调用“url”方法。在Drupal\Core\Template\TwigSandboxPolicy->checkMethodAllowed()(Core/lib/Drupal/Core/Template/TwigSandboxPolicy.php的第101行)。这不会删除“public:”,因此会生成无效链接。此解决方案对我有效,谢谢分享!
{{ file_url('public://path/to/image.png') }}