将名称变量与Drupal 8 twig模板中的字符串值进行比较

时间:2017-06-05 16:32:48

标签: drupal twig drupal-8 drupal-taxonomy

我正在使用Drupal 8中的分类术语模板页面,我需要能够仅根据填充页面内容的分类术语来显示特定内容。我使用taxonomy-term.twig.html模板作为起点,但我没有运气比较字符串值与{{name}}变量。这是我到目前为止的代码:

<section{{ attributes.addClass(classes)}}>
    {% if 'general' in name %}
       <img class="promo-image" src="http://placehold.it/150x150" alt="promo">
       <h3 class="promo-title">Promo title text</h3>
       <p class="promo-copy">lorem ipsum dolor set amet</p>
       <div class="links">
          <a href="/resources" class="btn outline-black-transparent">Learn more</a>
       </div>
    {% endif %}
</section>

如果我像普通{{name}}一样输出名称变量,它会在页面上打印标签名称,但我无法弄清楚如何将值与任何内容进行比较。我也尝试了一条直线if等于路线,但似乎名字变量是一个数组。

1 个答案:

答案 0 :(得分:1)

由于name变量是一个数组,我只需要添加的第一个值:

{%
set tag = name['#items'].0.value
%}

然后将if语句更改为:

{% if tag == 'text' %}
<section{{ attributes.addClass(classes)}}>
   <img class="promo-image" src="http://placehold.it/150x150" alt="promo">
   <h3 class="promo-title">Promo title text</h3>
   <p class="promo-copy">lorem ipsum dolor set amet</p>
   <div class="links">
      <a href="/resources" class="btn outline-black-transparent">Learn more</a>
   </div>
 </section>
{% endif %}

现在模板按照我的预期工作。