2016-05-26 5 views
1

ich arbeite an funktionalitäten, in denen ich html habe, php seiten und daten werden von php zu html..Diese datenwerte sind in HTML-seite mit angezeigt Zweig Vorlagen.wie array keys zu überprüfen sind exits in multidimensional array mit twig templates in html

Jetzt erstellen diese Zweig Vorlagen Problem in meinem Code.

Ich habe ein mehrdimensionales Array als Schlüssel und Wert-Paar ($ Details) und ein Array von Objekten ($ IDs), in denen einige Elemente Schlüssel von $ Details Array übereinstimmen.

Beispiel:

in PHP:

$details=array([21]=>array(['name']=>A,['addrs']=>XX),  
       [22]=>array(['name']=>A,['addrs']=>XX)); 
$ids = array([50] => Test Object ([id] => 11,[name]=>xx), 
      [51] => Test Object ([id] => 21,[name]=>yy), 
      [52] => Test Object ([id] => 22,[name]=>zz)); 

echo $renderer->render(
    'sample.html', array(
     'title' => $title, 
     'user' => $username, 
     'details' => $details, 
     'ids'=>$ids)); 

sample.html:

{% for i in ids %} 
    <td>{{i.id}}</td> 
    <td>{{i.name}}</td> 
    <td>{{details[i.id]}}</td> 
{% endfor %} 

Hier <td>{{details[i.id]}}</td> werfen Fehler Fatal error: Uncaught exception 'Twig_Error_Runtime' with message 'Key "11" for array with keys "21, 22" does not exist in "sample.html

Sie mir sagen, wie diese Fehler zu beheben und Anzeige details mit nur existieren s Schlüssel?

Vielen Dank im Voraus.

+0

denke ich, Sie vermischen Zweig und Django ... Django ein Python-Framework ist. – solarissmoke

+0

Sry..I weiß nicht, was es genau ist .. Ich bin sehr neu zu diesen Vorlagen – Nithya

Antwort

1

können Sie überprüfen, ob Ihr Schlüssel vorhanden ist:

{% for i in ids %} 
    <td>{{i.id}}</td> 
    <td>{{i.name}}</td> 
    {% if details[i.id] is defined %} 
     <td>{{details[i.id]}}</td> 
    {% endif %} 
{% endfor %} 
+0

Mit Twig finden wir Teilstrings wie diese 'substr ($ name [$ i], 0,3)! = 'Tmp')' ? – Nithya

+0

Wir können Teilstrings dank 'in' Filter finden: http://twig.sensiolabs.org/doc/templates.html#containment-operator – alexf

Verwandte Themen