我是Symfony2和Twig的新手,我真的只标记某些形式的观点。我创建了一个通用的forms.twig.html,其中包含一些用于渲染类型输入的宏。 然后我将select类型传递给选择选项的选项列表,但我无法从symfony2的vars数组中获取此选项。 ¿这可能吗?
宏
{% macro select(name, options, selected) %}
<div class="innerB">
<select class="form-control" name="{{name}}">
{% for option in options %}
{% if option.value == selected %}
<option value="{{option.value}}" selected>{{ option.value }}</option>
{% else %}
<option value="{{option.value}}">{{ option.value }}</option>
{% endif %}
{% endfor %}
</select>
</div>
{% endmacro %}
这就是树枝:
<!-- Print selects -->
{% if type == 'choice' %}
{{ macroforms.label(item.vars.name, item.vars.label) }}
{{ macroforms.select(item.vars.name, item.vars.choices, item.vars.selected?) }}
{% endif %}
更新:这有效...问题是元素的类型,“选择”而不是“集合”,但现在,我想访问集合的每个元素,这是选择......任何想法?