2017-05-26 71 views
0

在Drupal 8上,我试图覆盖使用视图创建的块的模板。到目前为止,我的文件名为block - views-block - xxx.html.twig让我可以访问视图字段。如何覆盖使用视图创建的块模板

我得做一些像content.view_build['#rows'].0['#rows']这样的行,这是非常糟糕的,但我找不到任何其他方式。另外,我必须在视图设置上设置“显示内容”。

我无法让传呼机工作。从Drupal阅读文档我找不到任何线索。

回答

0

打开枝条调试器(他显示,在检查工具中,所有模板现在使用什么)。 在检查工具,你看到这样的内容:

- html--internalviewpath.html.twig 
- html--node--id.html.twig 
- html.html.twig 

然后,只需使用此名称创建模板添加自定义您的架构。例如:html--node--id.html.twig。检查你可以听到,你看到:

- html--internalviewpath.html.twig 
+ html--node--id.html.twig (now twig use this template) 
- html.html.twig 
0

我认为你应该重写视图模板而不是视图块模板。

查看模板命名约定可以在here找到,您可以使用的变量列表为here。您现在可以将分页器,标题,行和其他视图元素放在模板的不同部分中。

如果您需要覆盖视图行的内容,则需要根据您在视图中显示内容的方式采取相应操作。
如果您使用内容的预览视图,则可以覆盖内容预告模板,如“node - content_type - teaser.html.twig”,或者如果您在视图中使用字段,则必须覆盖字段模板每个领域。