【问题标题】:Cannot print Drupal taxonomy terms in twig template无法在树枝模板中打印 Drupal 分类术语
【发布时间】:2020-12-30 08:35:19
【问题描述】:

在 Drupal 树枝模板中打印分类术语时遇到问题。希望有人可以提供帮助。

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

到目前为止,我可以使用以下方法打印当前页面的术语:

{{ data.title|raw }}

我可以使用data.previous.label 和data.next.label 在同一页面上打印下一个和上一个术语,它们工作正常。

我需要打印所有条款,但我被卡住了。我尝试了几种 for 循环的变体,例如:

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

但这不起作用。知道我可以做些什么来打印所有条款吗?

【问题讨论】:

    标签: drupal twig taxonomy


    【解决方案1】:

    您的模板文件,从名称上看是指向一个特定的视图。 我相信有不止一种方法可以实现它,但我建议你使用钩子预处理视图。

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

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

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

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

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

    {{ mynewvar }}
    

    在那个钩子里面,我会写一个实体查询来获得所有想要的分类法。

    检查这个例子https://drupal.stackexchange.com/questions/144147/get-taxonomy-terms

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

    【讨论】:

      【解决方案2】:

      我试过这个,没有运气。我希望既然我已经可以使用data.next.label 和data.previous.label 进行调用,那么会有一种简单的方法来调用它们。

      我试过这个来获取data的所有变量:

      {% for key, value in data  %}
          {{ key }}
      {% endfor %}
      

      并获得返回值:标题、项目、上一个、下一个。

      这有帮助吗?在 Wordpress 中,甚至在 Drupal 中使用 Views,这似乎是一件如此简单的事情,但 twig 只是在与我作斗争。

      【讨论】:

        【解决方案3】:

        你可以使用 https://www.drupal.org/project/kint

        例如

        {{ kint(data) }}
        

        这样您可以探索该变量中的数组和对象。

        【讨论】:

          【解决方案4】:

          试试这个:

          {% for item in data.field_taxonomy %}
              {{ item.entity.label }}
          {% endfor %}
          

          【讨论】:

            猜你喜欢
            • 2016-06-02
            • 1970-01-01
            • 1970-01-01
            • 2022-01-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多