树枝动态变量调用

twig dynamic variable call

我将 3 种语言的数据传递给 twig 模板并以这种方式显示此数据:

{% set lang=app.request.get("lang")%}
{% for item in contests%}
    {% if lang=="fa"%}
        {{item.titlefa}}
    {% elseif lang=="en"%}
        {{item.titleen}}
    {% elseif lang=="ar"%}
        {{item.titlear}}
    {% endif%}
{% endfor%}

它正在运行,但我必须为 "contests" 中的每个对象创建 3 个 if 条件 我如何以这种逻辑显示数据:

{% set lang=app.request.get("lang")%}
 {{item.title~lang}}
{% endfor%}

可以在比赛中调用正确的方法

您可以使用 attribute TWIG 函数在运行时调用一个方法名,例如:

    {% set lang=app.request.get("lang")%}
    {% methodname = 'title'~lang %}
      {% for item in contests%}
        {{ attribute(item, methodname) }}
      {% endfor%}

希望对您有所帮助