如何在Drupal 8的节点内容中嵌入视图?
我找到了类似的东西,例如关于“ 如何在节点内嵌入视图? ”或Viewfield模块的问题,但这完全适用于Drupal 7。
我尝试使用指向视图的Entity引用字段,但是它仅显示标签,并且从Manage Display选项卡中,我只能从Label和Entity ID中进行选择。我需要类似“渲染实体”选项的东西,该选项出现在指向其他节点的实体引用字段上。
如何在Drupal 8的节点内容中嵌入视图?
我找到了类似的东西,例如关于“ 如何在节点内嵌入视图? ”或Viewfield模块的问题,但这完全适用于Drupal 7。
我尝试使用指向视图的Entity引用字段,但是它仅显示标签,并且从Manage Display选项卡中,我只能从Label和Entity ID中进行选择。我需要类似“渲染实体”选项的东西,该选项出现在指向其他节点的实体引用字段上。
Answers:
您可以创建一个View Block。然后,视图块将在“块”部分中可用。如果需要,将视图块分配给一个区域并在特定页面上显示。
为您的节点创建一个树枝模板文件并使用
Twig Tweak模块提供了Twig扩展,其中包含一些有用的功能和过滤器,可以改善开发人员的体验。
例如:
<dd>{{ drupal_view('view_name', 'page_1') }}</dd>
如果使用Panels或Display Suite,则可以将视图嵌入为字段。
我帮助维护EVA的D8分支,该分支的功能类似于Twig Tweak的分支,drupal_view()
但用作View显示器,将其自身附加到指定的实体束作为额外的字段。这意味着可以在实体“管理显示” UI中对视图进行重新排序,也可以将其拖放到字段组中。像Twig Tweak的功能一样,它允许上下文过滤器作为参数传递。
EVA和Twig Tweaks解决方案的用例不同于将实体引用与viewsreference一起使用的用例,因为后者允许内容编辑者在每个实体上选择不同的View。EVA并drupal_view()
在每个实体上注入相同的视图(尽管上下文参数可能会更改视图结果)。
如果您要创建定制主题,那么EVA与枝条块注入可能没有任何优势,但是如果您希望允许站点构建者像管理实体字段一样管理View并使用UI配置它的显示位置,看看。
现在还有一个名为viewsreference的项目,它允许您通过一个字段将整个视图嵌入到节点中(请考虑实体参考,但要获取完整的视图):https : //www.drupal.org/project/viewsreference