我将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%}
它是wirking但是我必须在"竞赛"中为每个对象创建3条件。 如何在此逻辑中显示数据:
{% set lang=app.request.get("lang")%}
{{item.title~lang}}
{% endfor%}
可以在比赛中调用适当的方法
答案 0 :(得分:8)
您可以使用attribute TWIG函数在运行时调用方法名称,例如:
{% set lang=app.request.get("lang")%}
{% methodname = 'title'~lang %}
{% for item in contests%}
{{ attribute(item, methodname) }}
{% endfor%}
希望这个帮助