选择元素到foreach Twig模板

时间:2013-06-11 09:49:37

标签: php symfony twig

我在使用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 &quot;MyBundle:Default:index.html.twig&quot; at line 22 (500 Internal Server Error)

第22行是:{% if checked.{{choice}} == true %}

我不知道我的检查结果如何(我的选择进入我的预期选择)进入twig tpl?

1 个答案:

答案 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 %}