3

次のような小枝テンプレートに送信される変数の配列が与えられます。

$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ループのキー変数を再マップします。

オブジェクトを小枝でつなぐ:

{% for key, value in form.vars.attr %}
    {% set {{key}} = value %}
{% endfor %}

そして、私が知っているスタックは、セットに対処することは決してないようです。知っている人は、この変数の割り当てを実行する方法を教えてください。

4

1 に答える 1

5

私はこの構文が機能することを知っています

{% render "..." with {(key): value} %}

次の構文を試しましたか?3月22日金曜日の時点では、この構文は機能しなかったため、回避策を使用する必要があります。

{% set (key) = value %}

これに代わる方法は、テンプレートとパスとを含めることform.vars.attrです。

{% include "YourAwesomeBundle:Controller:template.html.twig" with form.vars.attr %}

マージ関数form.vars.attrを使用して別の配列とマージすることもできます。

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

em含まれているテンプレート内で、変数とを使用できるようになりますgroup

于 2013-03-22T04:37:11.500 に答える