问题描述
在Drupal树枝模板中打印分类术语时遇到麻烦。希望有人可以帮忙。
我有一个分类词汇为“常见问题类别”。其中有几个术语。我正在尝试在名为views-view--faqs.html.twig
的树枝模板中打印所有术语。
到目前为止,我可以使用以下命令打印当前页面的字词:
{{ data.title|raw }}
我可以使用data.prevIoUs.label
和data.next.label
在同一页面上打印下一个和上一个术语,这些都可以正常工作。
我所需要的是打印所有条款,我被困住了。香港专业教育学院尝试了for循环的几种变体,例如:
{% for item in data %}
{{ data.title|raw }}
{% endfor %}
但这不起作用。知道我该怎么做才能打印所有条款吗?
解决方法
您的模板文件(按名称查找)指向特定视图。 我相信有多种方法可以实现它,但是我建议您使用钩子预处理视图。
重要提示:您需要将该代码粘贴到mytheme.theme文件中(通常在theme / custom / mythemename中,其中mythemename是自定义主题的名称)
在上面的链接示例中,只需添加一些新数据,例如
$variables["mynewvar"] = 'my data';
然后,您可以将其打印到模板中
{{ mynewvar }}
在该挂钩内,我将编写一个实体查询以获取所有所需的分类法。
检查此示例https://drupal.stackexchange.com/questions/144147/get-taxonomy-terms
然后,我会将这些值附加到树枝上下文中,就像“ myvar”示例一样。
,我尝试了这个,没有运气。我希望,因为我已经可以使用data.next.label
和data.previous.label
来调用术语,所以有一种简单的方法可以只调用它们。
我试图这样做以获得data
的所有变量:
{% for key,value in data %}
{{ key }}
{% endfor %}
并返回以下值:标题,项目,上一个,下一个。
这有帮助吗?在Wordpress甚至使用Views的Drupal中,这看起来像一件简单的事情,但是树枝只是在与我抗争。
,您可以使用 https://www.drupal.org/project/kint
例如
{{ kint(data) }}
这样,您可以浏览该变量内的数组和对象。
,试试这个:
{% for item in data.field_taxonomy %}
{{ item.entity.label }}
{% endfor %}