2011-11-09 13 views
41

¿Alguien sabe cómo (de si es posible) hacerlo en Twig? No puedo ver nada en la documentación sobre si es posible.Accediendo a valores de matriz usando la clave de matriz de Twig

La matriz PHP está estructurado de la siguiente manera:

$data['data']['a']['title'] = 'Title 1'; 
$data['data']['a']['title'] = 'Title 2'; 
$data['data']['b']['title'] = 'Title 3'; 

Twig código de la plantilla a continuación:

{% for letter in 'a'..'z' %} 
    {{ letter }} 
    <ul> 
     {% for key, item1 in data %} 
      {% for item2 in item1 %} 

       <li>{{ item2[key].title }}</li> 

      {% endfor %} 
     {% endfor %}     
    </ul> 
{% endfor %} 

Editar: Después de investigaciones adicionales, parece que el atributo (ver http://twig.sensiolabs.org/doc/functions/attribute.html) función debe hacer el trabajo, pero no estoy seguro de cómo usarlo en estas circunstancias.

Muchas gracias

+0

¿Usted ha conseguido un mensaje de error? Creo que deletreaste 'letra' mal. Debería ser '{{item.letter.title}}'. – F21

+0

Sí, acabo de darme cuenta de esto. Lamentablemente, esto no funciona, ya que no es posible hacerlo como en el ejemplo anterior, es solo con fines de demostración para mostrar lo que estoy tratando de lograr. –

Respuesta

80

¿Usted acaba de intentar esto:

attribute(item2, key).title 
+0

Bingo !!!!!!!!!! –

Cuestiones relacionadas