2016-01-09 3 views
0

У меня есть этот массив под названием темы в шаблоне Twig:Как добавить элементы в многомерный массив на Twig?

array:4 [▼ 
    "foo" => "bar" 
    "headerimage" => array:6 [▶] 
    "templatefields" => array:1 [▶] 
    "assets" => array:3 [▼ 
    "css" => array:1 [▶] 
    "js" => array:1 [▶] 
    "libs" => array:2 [▼ 
     0 => "jquery" 
     1 => "bootstrap" 
    ] 
    ] 
] 

Я хочу добавить больше элементов в theme.assets.libs. Я стараюсь:

{% set theme.assets.libs = theme.assets.libs|merge(['otherlibrary', 'anotherlibrary']) %} 

Но у меня есть следующая ошибка.

Неожиданный токен "пунктуация" значения "." («конец блока отчета» ) в строке «index.twig» в строке 7.

ответ

1

Twig не позволяет делать это напрямую. Вы можете, однако, сделать это, продолжая шаблон слияния массивов, который вы уже делаете:

{% set theme = theme|merge({assets: theme.assets|merge({ libs: theme.assets.libs|merge(['otherlibrary', 'anotherlibrary']) }) }) %}