如何覆盖使用视图创建的块样板



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

我必须做一些类似content.view_build['#rows'].0['#rows']的事情才能获得非常糟糕的行,但我找不到任何其他方法。此外,我必须在视图设置上设置"显示内容"。

我根本无法让寻呼机工作。阅读Drupal的文档,我找不到任何线索。

打开 twig 调试器(他在检查器工具中显示了现在使用的所有模板(。在检查器工具中,您会看到如下所示的内容:

- 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

我认为您应该覆盖视图模板而不是视图块模板。

查看模板 可以在此处找到命名约定,此处列出了您可以使用的变量。您现在可以将寻呼机、标题、行和其他视图元素放在模板的不同部分中。

如果需要覆盖视图行的内容,则需要根据在视图中显示内容的方式执行操作。
如果您使用内容的预告视图,则可以覆盖内容预告片模板,例如"node--content_type--teaser.html.twig",或者如果您在视图中使用字段,则必须覆盖每个字段的字段模板。

最新更新