我有一个视图,其中我展示了几种内容类型,因此我需要根据显示的内容类型过滤我在“views-view - myview.html.twig”中创建的一些自定义菜单条目。目前的观点。
我使用过xdebug但是无法在我的视图中打印内容类型的机器名称(我需要内容类型的机器名称,而不是标签!)
请注意,我不想在views-view-fields模板中执行此操作。
我的问题是:如何在views-view.html.twig文件中获取内容类型(在视图中显示)?
如果有预处理功能,它也会帮助我!
答案 0 :(得分:1)
或覆盖twig,例如 views-view - myview.html.twig ,您可以执行以下操作
获取第一行实体的标题
{{rows[0]['#rows'][0]['#row']._entity.getTitle()}}
获取第一行实体的类型/包
{{rows[0]['#rows'][0]['#row']._entity.bundle()}}
因此要访问所有行,您可能需要一个循环 以下检查每行的实体类型/包
{% for row in rows[0]['#rows'] %}
{% if row['#row']._entity.bundle() == 'page' %}
<div>its a page</div>
{% endif %}
{% endfor %}
但也许修改视图的各个行的最佳位置是在视图的特定显示内部,例如 views-view-unformatted.html.twig 或 views-view-unformatted --myview.html.twig
用于比较获取标题和类型/包并循环遍历上面的行
{{rows[0]['content']['#row']._entity.getTitle()}}
{{rows[0]['content']['#row']._entity.bundle()}}
{% for row in rows %}
{% if row['content']['#row']._entity.bundle() == 'page' %}
<div>its a page</div>
{% endif %}
{% endfor %}