Twig嵌套循环

时间:2013-10-04 14:32:58

标签: php twig

我是一个新的Twig用户,我有麻烦填补网格...... 我有一个名为“menu”的实体,并且只想访问一些属性,所以我创建了一个这样的数组:

        $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'),
            );

所以我试图做一个嵌套循环来访问这些信息......但我不知道它是怎么做的。我试着这样,但显然这是错的。

    <tbody>
    {% for menu in menus %}
        <tr> 
            {% for item in itens %}
                <td> {{ menu.[item.name] }} </td>
            {% endfor %}                
        </tr>
    {% endfor %}
</tbody>

我该怎么办?


在PHP代码中,它看起来像:

    foreach $menus as $menu {
      echo "<tr>";
      foreach $itens as $item
        echo "<td>".$menu[$item["name"]]."</td>";
      echo "</tr>";
    }

2 个答案:

答案 0 :(得分:3)

请记住,twig与PHP非常相似。您的模板应如下所示:

<tbody>
    {% for menu in menus %}
        <tr> 
            {% for item in menu %}
                <td> {{ item.name }} </td>
            {% endfor %}                
        </tr>
    {% endfor %}
</tbody>

请注意,这将在PHP中转换为类似内容:

foreach ($menus as $menu) {
    foreach ($menu as $item) {
        // ...
    }
}

有关树枝圈can be found in the twig documentation的详情。

答案 1 :(得分:2)

试试这个,

<tbody>
    {% for menu in menus %}
        <tr> 
            {% for item in items %}
                <td> {{ menu[item.name] }} </td>
            {% endfor %}                
        </tr>
    {% endfor %}
</tbody>
相关问题