2015-07-30 4 views
1

Я пытаюсь создать динамически имя переменной, так что результат будет, как один нижеКак объединить две переменные Twig в цикле

{{ form_label(form.user_1) }} 
{{ form_label(form.user_2) }} 
{{ form_label(form.user_3) }} 
{{ form_label(form.user_4) }} 

Вот что я пытался до сих пор

{% for user in users %} 
     {{ form_label(form.user~'_'~loop.index) }} 
{% endfor %} 

но получить

Аргумент 1 передается Symfony \ Component \ Form \ FormRenderer :: searchAndRenderBlock() должен быть экземпляр Symfony \ Component \ Form \ FormView, строка

Что я делаю неправильно?

ответ

4

думаю есть you have to use the attribute() function.

Если это не работает с конкатенации в метод параметра , попробуйте сцепить его первым в переменной, как это:

{% set userIndex = 'user_' ~ loop.index %} 

И тогда вы должны попробовать это:

{{ form_label(attribute(form, userIndex)) }} 
+0

Когда я делаю '{{form_label (атрибут (form, 'user_1')}}' он работает, но с помощью userIndex я получаю сообщение об ошибке, описанное в моем сообщении. – Vodokan

+0

О, все в порядке. Ошибка была опечатана. Спасибо – Vodokan

+0

Nice ! Пожалуйста :) – MeuhMeuh

Смежные вопросы