Twig - 如何使用变量调用对象方法

时间:2013-10-04 19:55:31

标签: php symfony twig

我正在尝试填充网格,但我不知道如何使用变量调用对象方法。变量“菜单”是我的实体,“itens”是一个数组,其中包含我想在此网格中显示的内容。

    $itens = array(
            array('name' => 'id', 'label' => 'Id'),
            array('name' => 'parent', 'label' => 'Pai'),
            array('name' => 'name', 'label' => 'Nome'),
            array('name' => 'route', 'label' => 'Rota'),
            array('name' => 'position', 'label' => 'Posição'),
    );

这是我的代码:

{% for menu in menus %}
    <tr>
        {% for item in itens %}
            <td>{{ attribute(menu, item['name']) }}</td>
        {% endfor %}
    </tr>
{% endfor %}

我也尝试过menu.item ['name'],但没有成功......有什么想法吗?

1 个答案:

答案 0 :(得分:8)

我明白了!我这样做了:

    {% for menu in menus %}
        <tr>
            {% for item in itens %}
                {% set method %}{{ item['name'] }}{% endset %}
               <td>{{ attribute(menu, method) }}</td>
            {% endfor %}
        </tr>
    {% endfor %}