2016-05-05 24 views
0

为了使动画滑块,我重写字段命名为我自己的模板查看模板文件:观点视场 -如何用嫩枝获得field_image路径在Drupal 8

内slider.html.twig该文件我有权访问字段数组以打印出我的内容类型幻灯片中的所有字段。

问题是我需要获取图像文件的路径而不是图像本身,因为我需要CSS背景图像样式的路径。

下不起作用:

<div class="jumbotron " ref="" style="background-image:url(?????);"> 
    {{ file_url(fields.field_image.entity.fileuri) }} 
</div> 

我什么都试过了我在谷歌好找:

fields.field_image.entity.uri 
fields.field_image.entity.uri.value 
fields.field_image.entity.url 
fields.field_image.entity.url.value 

有没有人知道这是如何在Drupal做8?

回答

0

我发现这个模块:image_url_formatter,所以在View界面中,我可以用它来格式化我的图像文件作为路径。

它的工作原理非常完美,但是如果我将小枝调试打开了,它将无法工作,因为它会输出调试注释。我不知道如何解决它。

我使用fields.field_image.content来显示路径,我不知道它是否是严格的。


解决方案,无需额外的模块:

在你的浏览次数:

1.增加图像归档到高级/关系

2.然后在提交的部分,变化到文件组,您可以看到URI字段,添加它,并确保您选中“显示文件下载URI”

3 。在树枝模板中添加新字段:{{field.uri.content}}

完成!

+0

谢谢你提到这个模块。我也不确定为什么需要额外的模块,应该有一个entity.fileuri或类似的东西。 – user3411864

+0

content.field_image ['#items']。entity.uri.value在'node'模板中工作,在'views'模板中,没有'entity'属性的字段 –

+0

谢谢关系解决方案的工作原理,只有twig调试输出在路径附近打破了我的内联background-image css行 – user3411864

0

既然你在视图 - 视图 - 格式化你应该已经有访问individualy您的内容类型幻灯片的各个领域与{{ row.content }}正因为如此,你必须做的:

​​

+0

对不起,我的错。上面的jumbotron div在views-view-fields - slider.html.twig里面,我也有一个周边文件views-view-unformatted - slider.html.twig,它正在打印row.content。 row.content.field_image.entity.fileuri仍然是空的:( – user3411864

+0

好吧,你可以尝试'{{file_url(fields.field_image ['#items']。entity.fileuri)}}'然后 – Keldus

+0

对不起,输出仍然是空的。

/
user3411864

0

尝试{{ file_url(row._entity.field_image.entity.uri.value) }}。 它适合我。

<div style="background-image:url({{ file_url(row._entity.field_image.entity.uri.value) }});"></div>