动态树枝变量名称

时间:2013-03-21 23:50:52

标签: symfony twig

给定发送到树枝模板的变量数组,例如:

$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 %}

我知道堆栈似乎永远不会解决集合问题。有谁知道,请说明如何完成这个变量赋值?

1 个答案:

答案 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 functionform.vars.attr与另一个数组合并。

{% set vars = {} %}
{% set vars = vars|merge(form.vars.attr) %}
{% include "YourAwesomeBundle:Controller:template.html.twig" with vars %}

在随附的模板中,您可以使用变量emgroup