I was wondering if is there any way to loop to such a struct with Twig:
{%
set languages = [
{"english": "en"},
{"spanish": "es"},
{"italian": "it"},
{"german": "de"},
{"french": "fr"},
{"portuguese": "pt"},
]
%}
{% for value in languages %}
Language: {{value.??}} - Locale: {{value.??}}
{% endfor %}
I don't like to split object in a "key value" pair just to have properties named... any way to achieve this?
In the meanwhile I modified the struct as follows to use a simple key value looping:
{%
set languages = {
"english": "en",
"spanish": "es",
"italian": "it",
"german": "de",
"french": "fr",
"portuguese": "pt"
}
%}
You can loop over the object too, using the same key/value pair:
{%
set languages = [
{"english": "en"},
{"spanish": "es"},
{"italian": "it"},
{"german": "de"},
{"french": "fr"},
{"portuguese": "pt"},
]
%}
{% for value in languages %}
{% for k, v in value %}
Language: {{k}} - Locale: {{v}} <br />
{% endfor %}
{% endfor %}
{# output:
Language: english - Locale: en
Language: spanish - Locale: es
Language: italian - Locale: it
Language: german - Locale: de
Language: french - Locale: fr
Language: portuguese - Locale: pt
#}
I have some very dirty, but working solution:
{% for value in languages|keys %}
Language: {{ languages[value]|keys|first }} - Locale: {{ languages[value]|first }}
{% endfor %}