Twig 用if测试一个值

Twig 用if测试一个值,twig,Twig,我想在对象中测试一个值是否在数组中 products.name是对象的属性,其值为字符串“AMUSE BOEUF”。我尝试了以下代码片段,但它不起作用 {%if products.name=['AMUSE BOEUF']%} 金奖 {%endif%} 我也试过这样一个数字,这个很有效 {% if products.id == 1090 %} WINNER IS 1090 {% endif %} 但是我能为字符串值做些什么呢?既然['AMUSE BOEUF']是一个数组,您应该使用中的

我想在对象中测试一个值是否在数组中

products.name
是对象的属性,其值为字符串“AMUSE BOEUF”。我尝试了以下代码片段,但它不起作用

{%if products.name=['AMUSE BOEUF']%}
金奖
{%endif%}
我也试过这样一个数字,这个很有效

{% if products.id == 1090 %}
    WINNER IS 1090
{% endif %}

但是我能为字符串值做些什么呢?

既然
['AMUSE BOEUF']
是一个数组,您应该使用
中的
操作符:

{% if products.name in ['AMUSE BOEUF'] %}
    GOLDEN PRIZE
{% endif %}
或者不使用数组:

{% if products.name == 'AMUSE BOEUF' %}
    GOLDEN PRIZE
{% endif %}
老实说,无论如何,您不应该在模板中硬编码这样的逻辑。应该将其提取到服务中。例如,您可以开发自己的名为
won
的代码,并这样编写,注意漂亮的语义:

{% if product has won %}
    GOLDEN PRIZE
{% endif %}

我两次都试过,‘解决方案1和2)什么都没发生?我不知道为什么?我没有得到解决方案3,我想通过这个问题的名字找到建议的解决方案。看见但在我的页面中,它不起作用,我不知道为什么