如何在Twig上添加多维数组中的元素


How add elements in a multdimensional array on 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']) %}

但我有下一个错误。

值"."("语句块末尾")的意外标记"标点符号"预期)。

Twig不允许直接执行此操作。然而,您可以通过继续您已经在做的阵列合并模式来做到这一点:

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