Как установить многомерный массив в 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-мерного массива в веточке?
Ответы
Ответ 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"}} %}