Подтвердить что ты не робот

Как установить многомерный массив в Twig?

Я работаю над Twig для шаблонов в моем проекте Symfony2. Мне нужно определить 2-мерный массив. Я пробовал как

{% set fields = { {'name': 'description', 'value':  '1'}, { 'name': 'abc', 'value': '2'}, { 'name':'tags', 'value': '3'} } %}

Но я получаю

A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{" in ABundle:XYZ:edit_a_page.html.twig at line 51  

Не уверен, что не так с вышеуказанным кодом.

Каков правильный синтаксис для установки 2-мерного массива в веточке?

4b9b3361

Ответ 1

В Twig массивы отмечены [] и хешируются с помощью {}. Хэш - это пара ключ-значение с явными ключами (строками или целыми числами), массив - это просто набор значений без явно определенных ключей (они будут индексироваться численно).

Чтобы использовать хэш, вы ДОЛЖНЫ предоставить ключ для каждого элемента.

Итак, вы хотите, вероятно, {% set fields = [ {'name': 'description', 'value': '1'}, { 'name': 'abc', 'value': '2'}, { 'name':'tags', 'value': '3'} ] %}

Ответ 2

Вы можете сделать это так {% set foo = {"adjuster_list": {"id": "1", "name": "Joe Smith"}} %}