给定发送到树枝模板的变量数组,例如:
$form = $this->createForm( new ServiceItemType()
, $entity
, array( 'attr'=>
array(
'em' => $this->EM()
,'group' => true
) ) );
我想捕获变量以便在树枝中轻松访问。但是:
{% for key, value in form.vars.attr %}
{% set key = value %}
{% endfor %}
重新映射for循环中的键变量。
twig对象:
{% for key, value in form.vars.attr %}
{% set {{key}} = value %}
{% endfor %}
我知道堆栈似乎永远不会解决集合问题。有谁知道,请说明如何完成这个变量赋值?
答案 0 :(得分:5)
我知道这种语法有效
{% render "..." with {(key): value} %}
您是否尝试过以下语法? 截至3月22日星期五,此语法不起作用,因此您需要使用解决方法。
{% set (key) = value %}
另一种方法是包含模板并传递form.vars.attr
。
{% include "YourAwesomeBundle:Controller:template.html.twig" with form.vars.attr %}
您还可以使用merge function将form.vars.attr
与另一个数组合并。
{% set vars = {} %}
{% set vars = vars|merge(form.vars.attr) %}
{% include "YourAwesomeBundle:Controller:template.html.twig" with vars %}
在随附的模板中,您可以使用变量em
和group
。