15

path関数を動的に使用することは可能ですか? 変数をパラメーターとして使用しますか?

{{ path(nav.url, { nav.param_name : nav.param_value }) }}

そのコードを使用しようとすると、次のようになるためです。

A hash key must be followed by a colon (:). 
Unexpected token "punctuation" of value "." 
("punctuation" expected with value ":") 

「ハードコード」を渡すことで機能することがわかりparam_nameます...次のように:

{{ path('nav.url', { 'id' : nav.param_value }) }}

ただし、3つの値を動的に渡す必要があります

4

1 に答える 1

31

Twigの本には、式をキーとして使用するには式を括弧で囲む必要があると書かれているため、おそらくこれでうまくいくでしょう:

{{ path(nav.url, { (nav.param_name) : nav.param_value }) }}

http://twig.sensiolabs.org/doc/templates.html#literals

于 2013-02-01T01:27:31.607 に答える