无法在树枝模板中打印Drupal分类术语

问题描述

在Drupal树枝模板中打印分类术语时遇到麻烦。希望有人可以帮忙。

我有一个分类词汇为“常见问题类别”。其中有几个术语。我正在尝试在名为views-view--faqs.html.twig的树枝模板中打印所有术语。

到目前为止,我可以使用以下命令打印当前页面的字词:

{{ data.title|raw }}

我可以使用data.prevIoUs.labeldata.next.label在同一页面上打印下一个和上一个术语,这些都可以正常工作。

我所需要的是打印所有条款,我被困住了。香港专业教育学院尝试了for循环的几种变体,例如:

{% for item in data %}
    {{ data.title|raw }}
{% endfor %}

但这不起作用。知道我该怎么做才能打印所有条款吗?

解决方法

您的模板文件(按名称查找)指向特定视图。 我相信有多种方法可以实现它,但是我建议您使用钩子预处理视图。

在此处检查文档:https://api.drupal.org/api/drupal/core%21modules%21views%21views.theme.inc/function/template_preprocess_views_view/8.2.x

重要提示:您需要将该代码粘贴到mytheme.theme文件中(通常在theme / custom / mythemename中,其中mythemename是自定义主题的名称)

在上面的链接示例中,只需添加一些新数据,例如

$variables["mynewvar"] = 'my data';

然后,您可以将其打印到模板中

{{ mynewvar }}

在该挂钩内,我将编写一个实体查询以获取所有所需的分类法。

检查此示例https://drupal.stackexchange.com/questions/144147/get-taxonomy-terms

然后,我会将这些值附加到树枝上下文中,就像“ myvar”示例一样。

,

我尝试了这个,没有运气。我希望,因为我已经可以使用data.next.labeldata.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 %}