2013-10-04 130 views
3

我想填充網格,但我不知道如何調用使用變量的對象方法。變量「菜單」是我的實體,「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 [ '名'],但沒有成功......任何想法試過嗎?

+0

你可以在你的for循環中發佈'{{dump(item)}}'的結果嗎?只需要看到結構 –

+0

array(2){[「name」] => string(2)「id」[「label」] => string(2)「Id」} array(2){[「name 「] => string(6)」parent「[」label「] => string(3)」Pai「} array(2){[」name「] => string(4)」name「[」label「 ] => string(4)「Nome」} array(2){[「name」] => string(5)「route」[「label」] => string(4)「Rota」} array(2 ){[「name」] => string(8)「position」[「label」] => string(9)「Posição」} –

+3

嘗試{{item.name}} –

回答

5

我明白了!我這樣做了:

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