在Drupal 8中单独寻址视图行

时间:2016-01-18 22:56:18

标签: drupal twig views block drupal-8

在Drupal 8中,我使用Views创建了一个块,显示了一些图片。我想拍这些照片并添加一些代码来制作幻灯片。所以我创建了一个名为block的文件 - views-block - my-view-name-block-1.html.twig,其中包含以下内容:

{% for item in content %} 
 {{ field_image.item }} 
{% endfor %}

当然显示三个图像。我的问题是,我如何分别处理每个图像?例如,我想实现这样的目标:

{% for item in content %} 
 {{ content.field_image.item }} 
{% endfor %}

{{1}}

或者我可以在树枝上写什么来简单地显示一个特定的图像?例如,像{{content.field_image.1}}?

提前多多感谢。

3 个答案:

答案 0 :(得分:0)

实际上,您必须使用/templates/views中的视图才能使该视图起作用。这有点棘手,因为Twig调试当前(从8.6开始)在此级别上不建议模板。

例如,如果您是机器名称为my_custom_view的无格式列表视图,并且您尝试在块级别block--views-block--my-custom-view-block.html.twig上使用它,则将view-view-unformatted.html.twig模板重命名到view-view--unformatted--my-custom-view.html.twig。您使用哪种视图模板取决于您使用的视图类型(HTML列表,无格式列表,表等)。这将允许您在行级别进行迭代。

答案 1 :(得分:0)

我可能是错的,但是如果您只想打印一项,则可以在视图UI中将要显示的项数设置为“ 1”。

答案 2 :(得分:-1)

我无法确切地告诉你,但你可以调试:

{{ dump(content|keys) }}

上面的命令列出了“content”的数组键。我通常这样做是因为它比转储整个内容变量更快。

然后你会看到该变量的确切含义,以及如何访问你需要的东西。

注意:要在twig中进行调试,您需要先在services.yml(drupal / sites / default)中启用它,如下所示:

debug: true

也很有用:https://www.drupal.org/project/devel 使用 kint ,你可以获得更高级的var_dump。