2016-08-04 22 views
1

Ich benutze Twig und ich habe ein Problem.Zweig - Verwenden Sie variable Schlüssel für Objekt

Ich habe ein Problem, wenn ich einen Variablenindex für ein Objekt verwenden möchte.

Hier ist mein Code:

{% for label, field in params.fields %} 
    {{ dump(data.field) }} 
{% endfor %} 

Daten ist ein Objekt mit { 'E-Mail': '[email protected]', 'Name': 'John'}.

Feld ist ein Array von String mit [ 'E-Mail', 'name']

ich den Wert meines Objekt dynamicly nicht zeigen kann.

{{dump (data.email)}} funktioniert.

Wie kann ich dynamische Indizes verwenden? Vielen Dank.

Antwort

8

In Twig-Syntax ist data.field gleich $data['field'] in PHP. Mit anderen Worten, Twig verwendet field als Namen des Array-Schlüssels, anstatt den Wert der Variablen field zu übernehmen und als Schlüsselname zu verwenden.


können Sie verwenden, um die attribute() Funktion:

Beispiel:

{{ dump(attribute(data, field)) }} 
{# or simply #} 
{{ attribute(data, field) }} 

Die attribute Funktion ein "dynamisches" Attribut einer Variablen zugegriffen werden kann

+0

Schön! Okay, ich dachte, es gäbe einen leichteren Weg. Es klappt. Vielen Dank. –