我在使用Twig的Symfony2上,我在param中有2个数组:
我的控制器:
return $this->render('MyBundle:Default:index.html.twig',
array('checked' => $boxChecked,
'choices' => $choices));
Vars'check'和'choices'是两个数组,我想显示$ checked [$ choices [$ i]]的值来与true ofr进行比较,以便将checked或not应用到twig tpl的输入中。< / p>
这是我的代码但不起作用:
{% for choice in choices %}
{% if checked.{{choice}} == true %}
<div class="choice">{{ choice|capitalize }} <input type="checkbox" id="{{ choice }}" /></div>
{% else %}
<div class="choice">{{ choice|capitalize }} <input type="checkbox" id="{{ choice }}" checked="checked" /> </div>
{% endif %}
{% endfor %}
错误是:Expected name or number in "MyBundle:Default:index.html.twig" at line 22 (500 Internal Server Error)
第22行是:{% if checked.{{choice}} == true %}
我不知道我的检查结果如何(我的选择进入我的预期选择)进入twig tpl?
答案 0 :(得分:5)
您必须使用括号语法:
{% for choice in choices %}
{% if checked[choice] == true %}
<div class="choice">{{ choice|capitalize }} <input type="checkbox" id="{{ choice }}" /></div>
{% else %}
<div class="choice">{{ choice|capitalize }} <input type="checkbox" id="{{ choice }}" checked="checked" /> </div>
{% endif %}
{% endfor %}