在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",或者如果您在视图中使用字段,则必须覆盖每个字段的字段模板。